Skip to content

length(col)

Описание

Функция length() вычисляет длину строки в символах или количество байтов для бинарных данных. Это синоним функции character_length().

Параметры

  • col: string или Column - строка или бинарные данные, длину которых нужно вычислить

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

Integer - длина строки в символах или количество байтов

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

from pyspark.sql.functions import length

# Создаем DataFrame
df = spark.createDataFrame([
    ("Hello",),
    ("Привет",),  # Кириллица
    ("こんにちは",),  # Японский
    ("",),  # Пустая строка
    (None,)  # NULL
], ["text"])

# Вычисляем длину строк
df.select(
    "text",
    length("text").alias("length")
).show()

# Результат:
# +--------+------+
# |    text|length|
# +--------+------+
# |   Hello|     5|  # 5 символов
# |  Привет|     6|  # 6 символов (кириллица)
# |こんにちは|     5|  # 5 символов (японский)
# |        |     0|  # Пустая строка
# |    null|  null|  # NULL
# +--------+------+

# Пример с бинарными данными
df = spark.createDataFrame([
    (bytearray(b"Hello"),),
    (bytearray(b"Привет"),),
    (None,)
], ["binary_data"])

df.select(
    length("binary_data").alias("bytes_length")
).show()

Примечания

  • Для строк функция возвращает количество символов
  • Для бинарных данных возвращает количество байтов
  • Для пустой строки возвращает 0
  • Для NULL значений возвращает NULL
  • Функция учитывает многобайтовые символы (UTF-8)
  • Это синоним функции character_length()
  • Для получения длины в байтах используйте octet_length()
  • Для получения длины в битах используйте bit_length()