Apache Hive

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Apache Hive
Apache Hive logo.svg
Тип Система управления базами данных
Автор Facebook
Разработчик Apache Software Foundation
Написана на Java
Операционная система Кроссплатформенное программное обеспечение
Языки интерфейса Английский
Аппаратная платформа Java Virtual Machine
Последняя версия
Состояние Активный
Лицензия Apache License 2
Сайт hive.apache.org

Apache Hive — система управления базами данных на основе платформы Hadoop. Позволяет выполнять запросы, агрегировать и анализировать данные, хранящиеся в Hadoop.

Apache Hive был создан корпорацией Facebook и передан под открытой лицензией в собственность фонду Apache Software Foundation. На сегодняшний день эта система используется компанией Netflix и доступна в Amazon Web Services через Amazon Elastic MapReduce[2].

Возможности[править | править код]

  • Работа с данными используя SQL-подобный язык запросов;
  • Поддержка различных форматов хранения данных;
  • Работа напрямую с HDFS и Apache HBase;
  • Выполнение запросов через Apache Tez, Apache Spark или MapReduce.[3]

HiveQL[править | править код]

Apache Hive поддерживает язык запросов Hive Query Language, который основан на языке SQL, но не имеет полной поддержки стандарта SQL-92. HiveQL имеет функции для работы с форматами XML и JSON, поддержку нескалярных типов данных, таких как массивы, структуры, ассоциативные массивы[4], поддерживает широкий набор агрегирующих функций, определяемые пользователем функции (User Defined Functions), блокировки.

Пример[править | править код]

Подсчёт количества слов[править | править код]

Запрос подсчитывает, сколько раз каждое слово встречалось в файле:

1 DROP TABLE IF EXISTS docs;
2 CREATE TABLE docs (line STRING);
3 LOAD DATA INPATH 'input_file' OVERWRITE INTO TABLE docs;
4 CREATE TABLE word_counts AS
5 SELECT word, count(1) AS count FROM
6  (SELECT explode(split(line, '\s')) AS word FROM docs) temp
7 GROUP BY word
8 ORDER BY word;

Примечания[править | править код]

Внешние ссылки[править | править код]