Введение в Apache Hive



Apache Hive - это пакет хранилища данных, созданный на основе Hadoop и используемый для анализа данных. Hive ориентирован на пользователей, знакомых с SQL.

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

Перед внедрением 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 обычно очень высока.

Есть вопрос к нам? Упомяните их в разделе комментариев, и мы свяжемся с вами.

Похожие сообщения:

Команды Hive