Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: отмечено как "Да" Databricks Runtime
Apache Spark SQL в Azure Databricks разработан для совместимости с Apache Hive, включая подключение к метахранилищу, операции сериализации и десериализации, а также пользовательские функции.
SerDes и определяемые пользователем функции (UDF)
Сериализация-десериализация и определяемые пользователем функции основаны на Hive 1.2.1.
Возможность подключения хранилища метаданных
См. раздел Внешний хранилище метаданных Apache Hive (устаревший) для получения информации о подключении Azure Databricks к внешнему хранилищу метаданных Hive.
Поддерживаемые функции Hive
Spark SQL поддерживает большинство функций Hive, таких как:
- Запросы Hive, включая:
- SELECT
- GROUP BY
- ORDER BY
- CLUSTER BY
- SORT BY
- Все выражения Hive, в том числе:
- Реляционные выражения (
=,⇔,==,<>,<,>,>=,<=и т. д.) - Арифметические выражения (
+,-,*,/,%и т. д.) - Логические выражения (AND, &>ИЛИ, ||и т. д.)
- Конструкторы сложных типов
- Математические выражения (sign, ln, cos и т. д.)
- Строковые выражения (instr, length, printf и т. д.)
- Реляционные выражения (
- Пользовательские функции (UDF)
- Агрегатные функции, определяемые пользователем
- Определяемые пользователем форматы сериализации (SerDes)
- Функции окна
- Присоединения
- JOIN
- {ЛЕВОЕ|ПРАВОЕ|ПОЛНОЕ} ВНЕШНЕЕ JOIN
- ЛЕВАЯ ПОЛУ JOIN
- КРЕСТ JOIN
- Объединения
- Вложенные запросы
- SELECT col FROM (SELECT a + b AS col из t1) t2
- Образец
- Объяснить
- Секционированные таблицы, включая динамическую вставку секций
- Просмотр
- Подавляющее большинство инструкций DDL, в том числе:
- CREATE TABLE
- CREATE TABLE КАК SELECT
- ALTER TABLE
- Большинство типов данных Hive, в том числе:
- TINYINT
- СМОЛЛИНТ
- ИНТ
- БИГИНТ
- Булевый
- поплавок
- ДВОЙНОЙ
- СТРУНА
- БИНАРНЫЙ
- TIMESTAMP
- Дата
- МАССИВ<>
- КАРТА<>
- СТРУКТУРА<>
Неподдерживаемые функции Hive
В следующих разделах содержится список функций Hive, которые не поддерживаются SQL Spark. Большинство этих функций редко используются в развертываниях Hive.
Основные функции Hive
- Запись в сегментированную таблицу, созданную Hive
- Обновления ACID с высокой степенью детализации
Функции, используемые только в Hive
- Объединённый тип
- Уникальное соединение
- Сбор статистических данных столбцов: в настоящий момент Spark SQL не использует совместные сканирования для сбора статистики столбцов и поддерживает заполнение поля sizeInBytes в хранилище метаданных Hive.
Форматы входных и выходных данных Hive
- Формат файла для CLI. Для передаваемых в CLI результатов Spark SQL поддерживает только TextOutputFormat.
- Архив Hadoop
Оптимизация Hive
Несколько способов оптимизации Hive не поддерживаются в Spark. Некоторые из них (например, индексы) менее важны из-за вычислительной модели Spark SQL в памяти.
- Индексы растрового изображения на уровне блока и виртуальные столбцы (используемые для сборки индексов).
- Автоматическое определение числа модулей сжатия для операторов join и groupby. В Spark SQL необходимо управлять степенью параллелизма после перемешивания с помощью
SET spark.sql.shuffle.partitions=[num_tasks];. - Флаг перекоса данных: Spark SQL не поддерживает флаг перекоса данных, как это делает Hive.
-
STREAMTABLEподсказка в соединении: Spark SQL не следует подсказкеSTREAMTABLE. - Слияние нескольких маленьких файлов в результатах запроса. Если в Hive выходные данные запроса содержат несколько маленьких файлов, при необходимости их можно объединить в меньшее число больших файлов, чтобы избежать перегрузки метаданных HDFS. В Spark SQL такая возможность не поддерживается.