Skip to content

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