Типы Spark не похожи на объекты на языках по умолчанию.Они предназначены для сериализации и позволяют Spark хранить данные в любом поддерживаемом формате: json, parquet, orc, csv
и т. Д., Что позволит вам сохранять тип при записи в хранилище.
Чтобы иметь большеСпособы обработки типов Spark (Scala) позволяют использовать DataSets
, который можно использовать case class
для определения типов.Затем вы можете использовать примитивные типы для обработки запросов.
import spark.implicits._
case class MyData(str1: String, int1: Int, arr1: Array[String])
spark.read.table("my_table").as[MyData]
Для PySpark это немного сложнее, но вам не нужно беспокоиться о сериализации.
Если вынужно манипулировать типами в PySpark, вы можете использовать функции sql .