Учебники

Spark SQL — Введение

Spark представляет программный модуль для обработки структурированных данных, который называется Spark SQL. Он предоставляет программную абстракцию под названием DataFrame и может выступать в качестве механизма распределенного SQL-запроса.

Особенности Spark SQL

Ниже приведены особенности Spark SQL —

  • Интегрирован — легко смешивать SQL-запросы с программами Spark Spark SQL позволяет запрашивать структурированные данные в виде распределенного набора данных (RDD) в Spark со встроенными API-интерфейсами в Python, Scala и Java. Такая тесная интеграция позволяет легко выполнять запросы SQL вместе со сложными аналитическими алгоритмами.

  • Унифицированный доступ к данным — загрузка и запрос данных из различных источников. СХД-схемы обеспечивают единый интерфейс для эффективной работы со структурированными данными, включая таблицы Apache Hive, файлы паркета и файлы JSON.

  • Совместимость Hive — запускать неизмененные запросы Hive на существующих складах. Spark SQL повторно использует внешний интерфейс Hive и MetaStore, обеспечивая полную совместимость с существующими данными Hive, запросами и пользовательскими функциями. Просто установите его вместе с Hive.

  • Стандартное подключение — подключение через JDBC или ODBC. Spark SQL включает серверный режим с возможностью подключения JDBC и ODBC промышленного стандарта.

  • Масштабируемость — используйте один и тот же механизм для интерактивных и длинных запросов. Spark SQL использует модель RDD для поддержки отказоустойчивости в середине запроса, позволяя также масштабироваться и для больших заданий. Не беспокойтесь об использовании другого движка для исторических данных.

Интегрирован — легко смешивать SQL-запросы с программами Spark Spark SQL позволяет запрашивать структурированные данные в виде распределенного набора данных (RDD) в Spark со встроенными API-интерфейсами в Python, Scala и Java. Такая тесная интеграция позволяет легко выполнять запросы SQL вместе со сложными аналитическими алгоритмами.

Унифицированный доступ к данным — загрузка и запрос данных из различных источников. СХД-схемы обеспечивают единый интерфейс для эффективной работы со структурированными данными, включая таблицы Apache Hive, файлы паркета и файлы JSON.

Совместимость Hive — запускать неизмененные запросы Hive на существующих складах. Spark SQL повторно использует внешний интерфейс Hive и MetaStore, обеспечивая полную совместимость с существующими данными Hive, запросами и пользовательскими функциями. Просто установите его вместе с Hive.

Стандартное подключение — подключение через JDBC или ODBC. Spark SQL включает серверный режим с возможностью подключения JDBC и ODBC промышленного стандарта.

Масштабируемость — используйте один и тот же механизм для интерактивных и длинных запросов. Spark SQL использует модель RDD для поддержки отказоустойчивости в середине запроса, позволяя также масштабироваться и для больших заданий. Не беспокойтесь об использовании другого движка для исторических данных.

Архитектура Spark SQL

Следующая иллюстрация объясняет архитектуру Spark SQL —

Архитектура Spark SQL

Эта архитектура содержит три уровня, а именно: Language API, Schema RDD и Data Sources.

  • Язык API — Spark совместим с разными языками и Spark SQL. Также поддерживается этими языками API (python, scala, java, HiveQL).

  • Схема RDD — Spark Core разработана со специальной структурой данных, называемой RDD. Как правило, Spark SQL работает со схемами, таблицами и записями. Поэтому мы можем использовать схему RDD в качестве временной таблицы. Мы можем назвать эту схему RDD как фрейм данных.

  • Источники данных. Обычно источником данных для spark-core является текстовый файл, файл Avro и т. Д. Однако источники данных для Spark SQL отличаются. Это файл Parquet, документ JSON, таблицы HIVE и база данных Cassandra.

Язык API — Spark совместим с разными языками и Spark SQL. Также поддерживается этими языками API (python, scala, java, HiveQL).

Схема RDD — Spark Core разработана со специальной структурой данных, называемой RDD. Как правило, Spark SQL работает со схемами, таблицами и записями. Поэтому мы можем использовать схему RDD в качестве временной таблицы. Мы можем назвать эту схему RDD как фрейм данных.

Источники данных. Обычно источником данных для spark-core является текстовый файл, файл Avro и т. Д. Однако источники данных для Spark SQL отличаются. Это файл Parquet, документ JSON, таблицы HIVE и база данных Cassandra.

Мы обсудим больше об этом в следующих главах.