Apache HIVE - особенности и ограничения

Опубликовано: 18 Февраля, 2022

Apache hive - это инструмент хранения данных, созданный на основе Hadoop и используемый для извлечения значимой информации из данных. Хранилище данных - это хранение всех видов данных, созданных из разных источников, в одном месте. Данные в основном доступны в трех формах: структурированной (база данных SQL), полуструктурированной (XML или JSON) и неструктурированной (музыка или видео). Для обработки структурированных данных, доступных в табличном формате, мы используем Hive поверх Hadoop. Улей настолько мощный, что может очень эффективно запрашивать петабайты (ПБ) данных.

Как мы знаем, MapReduce - это модель по умолчанию, которую мы используем для программирования в Hadoop с использованием java или другого языка, поэтому Hive в основном был разработан для разработчиков, которые привыкли к SQL. После рождения Hive люди, которые не очень хорошо знакомы с Java, также могут обрабатывать данные через Hadoop с помощью Hive. Использование Hive также упрощает запрос данных структуры, поскольку написание кода на java затруднено по сравнению с Hive. HQL или HIVEQL - это язык запросов, который мы используем для работы с ульем, синтаксис которого очень похож на язык SQL, что упрощает использование Hive.

Возможности Apache Hive

Функции

Объяснение

Поддерживаемый вычислительный движок Hive поддерживает вычислительный движок MapReduce, Tez и Spark.
Фреймворк Hive - это стабильная структура пакетной обработки, построенная на основе распределенной файловой системы Hadoop и способная работать как хранилище данных.
Легко кодировать Hive использует язык запросов HIVE для запроса структурных данных, которые легко кодировать. 100 строк кода Java, которые мы используем для запроса данных структуры, можно свести к минимуму до 4 строк с помощью HQL.
Декларативная HQL - это декларативный язык, так как SQL означает, что он не является процедурным.
Структура таблицы Таблица, структура аналогична РСУБД. Он также поддерживает разделение и ведение.
Поддерживаемые структуры данных Разделение, сегмент и таблицы - это 3 структуры данных, которые поддерживает куст.
Поддерживает ETL Улей Apache поддерживает ETL, то есть извлечение, преобразование и загрузку. До того, как Hive будет использоваться для ETL.
Место хранения Hive поддерживает доступ пользователей к файлам из HDFS, Apache HBase, Amazon S3 и т. Д.
Способный Hive способен обрабатывать очень большие наборы данных размером в петабайты.
Помогает в обработке неструктурированных данных Мы можем легко встроить собственный код MapReduce с Hive для обработки неструктурированных данных.
Драйверы Драйверы JDBC / ODBC также доступны в Hive.
Отказоустойчивость Поскольку мы храним данные Hive в HDFS, отказоустойчивость обеспечивается Hadoop.
Область использования Мы можем использовать куст для интеллектуального анализа данных, прогнозного моделирования и индексации документов.

Ограничения Apache Hive

Ограничение

Объяснение

Не поддерживает OLAP Apache Hive не поддерживает онлайн-обработку транзакций (OLTP), но поддерживается онлайн-аналитическая обработка (OLAP).
Без обновления и удаления Hive не поддерживает операции обновления и удаления таблиц.
Не поддерживает подзапросы Подзапросы не поддерживаются.
Задержка Задержка в запросе куста apache очень высока.
Поддерживаются только ненастоящие или холодные данные Hive не используется для запросов данных в реальном времени, поскольку для получения результата требуется время.
Обработка транзакций не поддерживается HQL не поддерживает функцию обработки транзакций.