Схема данных Spark¶
Схема данных - это описание списка полей (столбцов) с указанием названия и типа данных для каждого поля. Используется для описания столбцов датафремов.
В Spark схема данных описывается с помощью объектов StructType и StructField из модуля pyspark.sql.types
.
В атрибуте fields
объекта StructType
указывается список полей в виде объектов класса StructField
. Каждое поле задается тремя параметрами:
name
- название поля;dataType
- тип данных в виде объекта одного из допустимых в Spark типов;nullable
- допускается ли указание пустых (None
) значений для данного поля. Принимает булево значениеTrue/False
. При работе с Spark-схемами в Analytic Workspace всегда рекомендуется указыватьnullable=True
.
В примере ниже описывается схема таблицы из трех полей id
, name
и date
с типами "целое", "строка" и "дата", соответственно.
from pyspark.sql.types import StructType, StructField, IntegerType, \
StringType, DateType
schema = StructType(fields=[
StructField(name='id', dataType=IntegerType(), nullable=True),
StructField('name', StringType(), True),
StructField('date', DateType(), True)
])
Больше примеров по работе со схемами данных можно увидеть в официальной документации Spark.