メインコンテンツまでスキップ

スプリット

指定されたパターンに一致する部分で str を分割します。

対応する Databricks SQL 関数については、 split関数を参照してください。

構文

Python
from pyspark.databricks.sql import functions as dbf

dbf.split(str=<str>, pattern=<pattern>, limit=<limit>)

パラメーター

パラメーター

Type

説明

str

pyspark.sql.Column または str

分割する文字列式

pattern

pyspark.sql.Column または literal string

正規表現を表す文字列。正規表現文字列は Java 正規表現である必要があります。下位互換性のため、正規表現表現として受け入れられます。int に加えて、 limit列と列名を受け入れるようになりました。

limit

pyspark.sql.Column またはstrまたは int

patternが適用される回数を制御する整数。_ limit > 0 : 結果の配列の長さはlimit以下となり、結果の配列の最後のエントリには、最後に一致したパターンを超えるすべての入力が含まれます。_ limit <= 0 : patternは可能な限り何度でも適用され、結果の配列は任意のサイズになります。

戻り値

pyspark.sql.Column: 区切られた文字列の配列。

Python
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('oneAtwoBthreeC',)], ['s',])
df.select('*', dbf.split(df.s, '[ABC]')).show()
df.select('*', dbf.split(df.s, '[ABC]', 2)).show()
df.select('*', dbf.split('s', '[ABC]', -2)).show()
df = spark.createDataFrame([
('oneAtwoBthreeC', '[ABC]', 2),
('1A2B3C', '[1-9]+', 1),
('aa2bb3cc4', '[1-9]+', -1)], ['s', 'p', 'l'])
df.select('*', dbf.split(df.s, df.p)).show()
df.select(dbf.split('s', df.p, 'l')).show()