Перейти к содержанию

Схема данных 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.