Какова цель типов данных в (Py) Spark? - PullRequest
0 голосов
/ 12 апреля 2019

PySpark предлагает различные типы данных, однако, похоже, нет никакого полезного метода, который мы могли бы вызвать для этих типов. Например, ArrayType даже не имеет методов вставки, удаления или поиска .

Почему это отсутствие методов? Какова цель типов данных в Spark, если мы ничего не можем с ними сделать? Как Spark обрабатывает эти типы внутри?

1 Ответ

0 голосов
/ 12 апреля 2019

Типы 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 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...