Megosztás:


kettéoszt

Az adott mintának megfelelő egyezések mentén osztja fel a karakterláncot.

A megfelelő Databricks SQL-függvényhez lásd a függvénytsplit.

Szemantika

from pyspark.databricks.sql import functions as dbf

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

Paraméterek

Paraméter Típus Description
str pyspark.sql.Column vagy str felosztandó sztringkifejezés
pattern pyspark.sql.Column vagy literal string egy reguláris kifejezést jelképező sztring. A regex sztringnek Java-reguláris kifejezésnek kell lennie. normál kifejezésábrázolásként elfogadott, a visszamenőleges kompatibilitás érdekében. Az int limit mellett mostantól az oszlop- és oszlopnevet is elfogadja.
limit pyspark.sql.Column, str vagy int egy egész szám, amely szabályozza az alkalmazott esetek pattern számát. _ limit > 0: Az eredményként kapott tömb hossza nem lesz nagyobb, mint limit, és az eredményként kapott tömb utolsó bejegyzése az utolsó egyeztetett mintán túli összes bemenetet tartalmazza. _ limit <= 0: pattern a lehető legtöbb alkalommal alkalmazva lesz, és az eredményként kapott tömb bármilyen méretű lehet.

Visszatérítések

pyspark.sql.Column: elválasztott sztringek tömbje.

Példák

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