apache hive

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

Upload: anatoliy-nikulin

Post on 24-Jan-2015

247 views

Category:

Software


9 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Apache Hive

Hive

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

Page 2: Apache Hive

Что такое Hive

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

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

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

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

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

○ NoSQL:

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

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

○ File Systems: HDFS, S3

Page 3: Apache Hive

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

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

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

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

Page 4: Apache Hive
Page 5: Apache Hive

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;

Page 6: Apache Hive

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

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

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

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

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

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

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

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

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

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

Page 7: Apache Hive

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

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

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

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

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

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

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