Skip to content

split_part(str, delimiter, partNum)

Описание

Функция split_part() разделяет строку по указанному разделителю и возвращает указанную часть.

Параметры

  • str: Column - строка для разделения
  • delimiter: String - разделитель
  • partNum: Integer - номер части для возврата (начинается с 1)

Возвращаемое значение

String - указанная часть строки

Пример использования

from pyspark.sql.functions import split_part
from pyspark.sql import SparkSession

# Создаем SparkSession
spark = SparkSession.builder.appName("split_part_example").getOrCreate()

# Создаем DataFrame
data = [
    ("A", "hello,world,spark"),
    ("B", "python,sql,data"),
    ("C", "one,two,three")
]
df = spark.createDataFrame(data, ["id", "text"])

# Разделяем строки и получаем указанные части
result = df.select(
    "id",
    split_part("text", ",", 1).alias("part1"),
    split_part("text", ",", 2).alias("part2"),
    split_part("text", ",", 3).alias("part3")
).show()

# Результат:
# +---+-----+-----+-----+
# |id |part1|part2|part3|
# +---+-----+-----+-----+
# |A  |hello|world|spark|
# |B  |python|sql  |data |
# |C  |one  |two  |three|
# +---+-----+-----+-----+

Примечания

  • Если указанный номер части больше количества частей, возвращается пустая строка
  • Для разделения строки на массив подстрок используйте split()
  • Для объединения массива строк в одну строку используйте array_join()
  • Для работы с регулярными выражениями используйте regexp_extract()