Cloudera
- 1 year ago
- 0
- 0
Hive — система управления базами данных на основе платформы Hadoop с SQL-подобным языком запросов, позволяет выполнять запросы, агрегировать и анализировать данные; компонент экосистемы Hadoop .
Создан корпорацией Facebook , в 2011 году передан под открытой лицензией в фонд Apache .
Работает напрямую с HDFS и Apache HBase , поддерживает основные форматы Hadoop. Запросы могут выполняться через Tez , Spark или Hadoop MapReduce .
Язык запросов — HiveQL — приближен к SQL, при этом не реализует все возможности стандарта SQL-92 . В язык встроены функции для работы с форматами XML и JSON , поддержка нескалярных типов данных, таких как массивы, структуры, ассоциативные массивы , реализован достаточно широкий набор , поддерживаются определяемые пользователем функции, блокировки.
Пример сеанса работы с 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;