Apache HIVE - особенности и ограничения
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 не поддерживает функцию обработки транзакций. |