Hive

Автор

Apache Hive – это SQL интерфейс доступа к данным для платформы Apache Hadoop. Hive позволяет выполнять запросы, агрегировать и анализировать данные используя SQL синтаксис. Для данных в файловой системе HDFS используется схема доступа на чтение, позволяющая обращаться с данными, как с обыкновенной таблицей или реляционной СУБД. Запросы HiveQL транслируются в Java-код заданий MapReduce.  

Запросы Hive создаются на языке запросов HiveQL, который основан на языке SQL, но не имеет полной поддержки стандарта SQL-92. Однако, этот язык позволяет программистам использовать их собственные запросы, когда неудобно или неэффективно использовать возможности HiveQL. HiveQL может быть расширен с помощью пользовательских скалярных функций (UDF), агрегаций (UDAF кодов), и табличных функций (UDTF).

Архитектура HIVE:

Architecture Apache Hive

Название компонента Описание

UI Пользовательский интерфейс

Позволяет выполнять запросы и команды в Hive:

  • Hive Web UI
  • командная строка Hive CLI или Beeline
  • Hive HD Insight (на сервере Windows)
  • Apache Zeppelin или HUE server

Meta Store (Хранилище мета-данных)

Хранит метаданные для таблиц Hive – схему на чтение (schema-on-read) , расположение, информацию о столбцах в таблице, типы данных, ACL и тд.

Hive QL Process Engine (процессор HiveQL)

Вместо написания программ MapReduce на Java мы можем написать запрос на HiveQL для дальнейшей компиляции и исполнения задания MapReduce
Execution Engine (Механизм выполнения) Составной часть процесса HiveQL Engine и MapReduce является механизм выполнения Hive. Механизм выполнения обрабатывает запрос и генерирует план задач MapReduce
HDFS или HBASE Распределенная файловая система Hadoop или HBASE – это методы хранения данных в файловой системе
   

Подробнее об Apache Hive читайте в наших следующих статьях:

 

Related Entries