Apache Hive - это пакет хранилища данных, созданный на основе Hadoop и используемый для анализа данных. Hive ориентирован на пользователей, знакомых с SQL. Он похож на SQL и называется HiveQL и используется для управления структурированными данными и запросов к ним. Apache Hive используется для абстрагирования сложности Hadoop. Этот язык также позволяет традиционным программистам map / reduce подключать свои собственные преобразователи и редукторы. Популярная особенность Hive - отсутствие необходимости изучать Java.
Hive, фреймворк для хранения петабайтных дат с открытым исходным кодом, основанный на Hadoop, был разработан группой по инфраструктуре данных в Facebook. Hive также является одной из технологий, которые используются для удовлетворения требований Facebook. Hive очень популярен среди всех пользователей внутри Facebook и используется для выполнения тысяч заданий в кластере с сотнями пользователей для самых разных приложений. Кластер Hive-Hadoop в Facebook хранит более 2 ПБ необработанных данных и регулярно загружает 15 ТБ данных ежедневно.
Давайте посмотрим на некоторые из его функций, которые делают его популярным и удобным для пользователей:
- Позволяет программистам подключать собственные преобразователи и редукторы.
- Имеет инфраструктуру хранилища данных.
- Предоставляет инструменты для упрощения работы с данными ETL.
- Определяет SQL-подобный язык запросов, называемый QL.
Пример использования Apache Hive - Facebook:
Перед внедрением Hive Facebook столкнулся с множеством проблем, поскольку объем генерируемых данных увеличивался или, скорее, резко увеличивался, что затрудняло их обработку. Традиционная СУБД не могла справиться с давлением, и в результате Facebook искал лучшие варианты. Чтобы решить эту надвигающуюся проблему, Facebook изначально пытался использовать Hadoop MapReduce, но из-за трудностей в программировании и обязательных знаний SQL это решение было непрактичным. Hive позволил им преодолеть трудности, с которыми они столкнулись.
С Hive они теперь могут выполнять следующее:
массив объектов в java
- Столы можно делить на порционные и сдобные
- Гибкость и эволюция схемы
- Доступны драйверы JDBC / ODBC
- Таблицы кустов могут быть определены непосредственно в HDFS
- Расширяемость - типы, форматы, функции и скрипты
Пример использования Hive в здравоохранении:
Где использовать улей?
Apache Hive можно использовать в следующих местах:
- Сбор данных
- Обработка журналов
- Индексирование документов
- Бизнес-аналитика для клиентов
- Прогнозное моделирование
- Проверка гипотезы
Архитектура улья:
Улей состоит из следующих основных компонентов:
- Хранилище метаданных - для хранения метаданных.
- JDBC / ODBC - компилятор запросов и механизм выполнения для преобразования запросов SQL в последовательность MapReduce.
- SerDe и ObjectInspectors - для форматов и типов данных.
- UDF / UDAF - для функций, определяемых пользователем.
- Клиенты - похожи на командную строку MySQL и веб-интерфейс.
Компоненты Hive:
Метастор:
какой лучший java ide
В Metastore хранится информация о таблицах, разделах, столбцах внутри таблиц. Есть 3 способа хранения в Metastore: Embedded Metastore, Local Metastore и Remote Metastore. В основном Remote Metastore будет использоваться в производственном режиме.
pl sql для начинающих с примерами
Ограничения Hive:
У Hive есть следующие ограничения, и его нельзя использовать при таких обстоятельствах:
- Не предназначен для обработки онлайн-транзакций.
- Обеспечивает приемлемую задержку для интерактивного просмотра данных.
- Не предлагает запросы в реальном времени и обновления на уровне строк.
- Задержка для запросов Hive обычно очень высока.
Есть вопрос к нам? Упомяните их в разделе комментариев, и мы свяжемся с вами.
Похожие сообщения: