split(str, pattern)
Описание
Функция split()
разделяет строку на массив подстрок, используя регулярное выражение в качестве разделителя.
Параметры
str
: Column - строка для разделенияpattern
: String - регулярное выражение, используемое в качестве разделителя
Возвращаемое значение
Array[String] - массив подстрок
Пример использования
from pyspark.sql.functions import split
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("split_example").getOrCreate()
# Создаем DataFrame
data = [
("A", "hello,world"),
("B", "spark,python,sql"),
("C", "one,two,three,four")
]
df = spark.createDataFrame(data, ["id", "text"])
# Разделяем строки по запятой
result = df.select(
"id",
split("text", ",").alias("words")
).show(truncate=False)
# Результат:
# +---+-------------------+
# |id |words |
# +---+-------------------+
# |A |[hello, world] |
# |B |[spark, python, sql]|
# |C |[one, two, three, four]|
# +---+-------------------+
Примечания
- Для объединения массива строк в одну строку используйте
array_join()
- Для работы с регулярными выражениями также можно использовать
regexp_extract()
иregexp_replace()
- Для разделения строки по фиксированному разделителю можно использовать
split_part()