Перейти к содержанию

Hive

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

Hive — система управления базами данных на основе платформы Hadoop с SQL-подобным языком запросов, позволяет выполнять запросы, агрегировать и анализировать данные; компонент экосистемы Hadoop.

Создан корпорацией Facebook, в 2011 году передан под открытой лицензией в фонд Apache.

Работает напрямую с HDFS и Apache HBase, поддерживает основные форматы Hadoop. Запросы могут выполняться через Tez, Spark или Hadoop MapReduce[1].

Язык запросов — HiveQL — приближен к SQL, при этом не реализует все возможности стандарта SQL-92. В язык встроены функции для работы с форматами XML и JSON, поддержка нескалярных типов данных, таких как массивы, структуры, ассоциативные массивы[2], реализован достаточно широкий набор агрегатных функций, поддерживаются определяемые пользователем функции, блокировки.

Пример сеанса работы с Hive с применением HiveQL — удаление таблицы, создание таблицы, загрузка в неё данных из текстового файла и запрос для подсчёта, сколько раз каждое слово встречалось в файле:

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

Примечания

  1. About Apache Hive. Дата обращения: 11 августа 2016. Архивировано 30 августа 2016 года.
  2. SQL Differences Between Impala and Hive. Дата обращения: 11 августа 2016. Архивировано 9 августа 2016 года.

Ссылки