Skip to content

substr(col, pos, len)

Описание

Функция substr() возвращает подстроку, начиная с указанной позиции и указанной длины. Это синоним для substring().

Параметры

  • col: Column - столбец со строками
  • pos: Integer - начальная позиция подстроки (1-индексированная)
  • len: Integer - длина подстроки

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

String - подстрока указанной длины, начиная с указанной позиции

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

from pyspark.sql.functions import substr
from pyspark.sql import SparkSession

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

# Создаем DataFrame
data = [
    ("Hello World"),
    ("Spark SQL"),
    ("Python Spark")
]
df = spark.createDataFrame(data, ["text"])

# Извлекаем подстроки
result = df.select(
    "text",
    substr("text", 1, 5).alias("first_5"),
    substr("text", 7, 5).alias("from_7")
).show()

# Результат:
# +------------+-------+-------+
# |text        |first_5|from_7 |
# +------------+-------+-------+
# |Hello World |Hello  |World  |
# |Spark SQL   |Spark  |SQL    |
# |Python Spark|Python |Spark  |
# +------------+-------+-------+

Примечания

  • Позиции в строке нумеруются с 1
  • Если pos отрицательный, отсчет ведется с конца строки
  • Если len больше длины оставшейся строки, возвращается вся оставшаяся строка
  • NULL значения возвращают NULL
  • Функция эквивалентна substring()