Apache Hive

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Apache Hive
Apache Hive logo.svg
Тип Система управления базами данных
Автор Facebook
Разработчик Apache Software Foundation
Написана на Java
Операционная система Кроссплатформенное программное обеспечение
Языки интерфейса Английский
Первый выпуск 9 ноября 2011[1]
Аппаратная платформа 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[3].

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

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

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

Apache Hive поддерживает язык запросов Hive Query Language, который основан на языке SQL, но не имеет полной поддержки стандарта SQL-92. HiveQL имеет функции для работы с форматами XML и JSON, поддержку нескалярных типов данных, таких как массивы, структуры, ассоциативные массивы[5], поддерживает широкий набор агрегирующих функций, определяемые пользователем функции (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;

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

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