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