apache hive

Post on 24-Jan-2015

247 Views

Category:

Software

9 Downloads

Preview:

Click to see full reader

DESCRIPTION

Apache Hive Лучше день потерять, но потом за пять минут долететь

TRANSCRIPT

Hive

Лучше день потерять потом за пять минут долететьАнатолий Никулин

Что такое Hive

● Система управления большими наборами данных.

● Используется для создания выборок с помощью SQL-подобного языка (HQL)

● В качестве источников данных можно использовать структурированные и не

структурированные хранилища:

○ SQL: MySQL, PostgreSQL (обычный коннектор, ничего интересного)

○ NoSQL:

■ HBase была первой, она вдохновила людей на создание Hive

■ MongoDB MongoDB коннектор для Hadoop реализован в виде Hadoop совместимой файловой системы. Данные из Монги могут читаться и обрабатываться c помощью Hadoop MapReduce.

○ File Systems: HDFS, S3

Hive это уноквазифантазия.

● Абстракция над хранилищами данных

● Унифицирующая работу с данными

● Но на самом деле, адски облегчает работу с M/R. Это основной use-case

CREATE EXTERNAL TABLE win_bids_log (

date_field string,

request_id string,

user_ssp_id string,

dsp_id string,

win_price int

)

ROW FORMAT DELIMITED

FIELDS TERMINATED BY '\t'

LOCATION 'hdfs://categorizer-hadoop-1:/analytical_engine/logs/';

HQL синтаксис

select dsp_id, count(dsp_id), sum(win_price) from win_bids_log group by dsp_id;

Всякие штучкиHive умеет работать:

● с текстовыми файлами (можно задать разграничительный символ)

● с сжатыми текстовыми файлами (Gzip, Bzip)

● с массивами, словарями, объединениями (union)

● имеет огромное количество встроенных функций для работы с:

○ коллекциями, датами, строками, JSON-ми

○ математические функции (округление, логарифмы корни, тригонометрия)

○ функции аггрегации (sum, min, max, avg...)

● Если всего перечисленного выше, не хватило, то можно использовать кастомные

функции а так же мэпперы и редьюсеры (python, java)

Кто использует и где

● Все кто плотно работает с Mapreduce в целом.

● Все кто плотно работает с HBase

● Все кто использует Amazon EMR

● Там, где не хочется писать M/R на Java

○ Это долго. (юнит-тесты, сборка, деплой, поддержка вендорозависимых

зависимостей)

top related