Skip to content

struct(*cols)

Описание

Функция struct() создает структуру из указанных столбцов. Каждый столбец становится полем структуры с именем, соответствующим имени столбца.

Параметры

  • *cols: Column - столбцы для создания структуры

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

StructType - структура с полями из указанных столбцов

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

from pyspark.sql import SparkSession
from pyspark.sql.functions import struct

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

# Создаем DataFrame
data = [
    ("Alice", 25, "New York"),
    ("Bob", 30, "London"),
    ("Charlie", 35, "Paris")
]
df = spark.createDataFrame(data, ["name", "age", "city"])

# Создаем структуру из столбцов
result = df.select(
    struct("name", "age", "city").alias("person")
).show(truncate=False)

# Результат:
# +------------------------+
# |person                  |
# +------------------------+
# |{Alice, 25, New York}  |
# |{Bob, 30, London}      |
# |{Charlie, 35, Paris}   |
# +------------------------+

Примечания

  • Имена полей структуры соответствуют именам столбцов
  • Для создания структуры с переименованными полями используйте struct() с alias()
  • Для работы с массивами структур используйте inline()
  • Для создания Map-столбца используйте map()