Skip to content

named_struct(name1, val1, name2, val2, ...)

Описание

Функция named_struct() создает структуру с именованными полями.

Параметры

  • name1, name2, ...: String - имена полей
  • val1, val2, ...: Column - значения полей

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

Struct - структура с именованными полями

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

from pyspark.sql.functions import named_struct, lit
from pyspark.sql import SparkSession

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

# Создаем DataFrame с данными
data = [("John", 25), ("Alice", 30)]
df = spark.createDataFrame(data, ["name", "age"])

# Создаем структуру с именованными полями
result = df.select(
    named_struct(
        lit("person_name"), "name",
        lit("person_age"), "age"
    ).alias("person")
).show(truncate=False)

# Результат:
# +------------------+
# |person            |
# +------------------+
# |{John, 25}       |
# |{Alice, 30}      |
# +------------------+

Примечания

  • Количество имен должно соответствовать количеству значений
  • NULL значения обрабатываются как есть
  • Для создания массива используйте array()
  • Для создания карты используйте map()