次の方法で共有


分割する

指定されたパターンの一致を中心に str を分割します。

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

構文

from pyspark.databricks.sql import functions as dbf

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

パラメーター

パラメーター タイプ Description
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: 区切られた文字列の配列。

例示

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()