Hive

Автор
Hive

Hive – это система управления базами данных (СУБД) в рамках платформы Hadoop для хранения и обработки больших данных в распределенной среде. Хайв позволяет проектировать структуры Big Data (таблицы, партиции, бакеты) с помощью SQL-подобного языка, называемого HiveQL.

 

Что такое Apache Hive: архитектура и принципы работы

Apache Hive – это СУБД для хранения и обработки больших данных в распределенном кластере экосистемы Hadoop.

СУБД Apache Hive включает в себя следующие элементы:

  1. HCatalog — это компонент Хайв, который отвечает за управление таблицами и хранилищами. Этот компонент также снабжает пользователей различными инструментами обработки Big Data (включая MapReduce и Pig) для более простого чтения и записи данных.
  2. WebHCat — это компонент, позволяющий выполнять базовые операции (чтение, запись и удаление) с метаданными в сети Хайв посредством использования интерфейса HTTP (Hyper Text Transfer Protocol). WebHCat также используется как сервер для развертывания среды Хайв.
Hive, курсы по hive, обучение hadoop, курсы hadoop hive
Структура Hive

6 основных преимуществ Apache Hive для Big Data

Хайв имеет следующие преимущества при работе с большими данными:

  • индексация данных — Хайв использует индексы для более быстрой работы с данными;
  • хранение метаданных в СУБД значительно снижает время семантических проверок на соответствие запроса конструкциям языка во время его выполнения;
  • хранение данных на всех узлах кластера снижает риск потери информации;
  • поддержка операций со сжатыми данными, хранящимися в экосистеме Hadoop;
  • поддержка клиента, установленного на стороне пользователя. Этот клиент взаимодействует с сервисами Хайв, запущенными на сервере. Такой подход хорошо применим для приложений, написанных на разных языках программирования, в т.ч. JAVA, C++, Python, R. Используя эти языки, пользователь имеет возможность подключения к интерфейсу Хайв для использования различных SQL-команд и доступа к базам данных;
  • SQL-подобный синтаксис на диалекте HQL снижает порог входа в технологию. Такие SQL-подобные запросы могут свободно преобразовываться в задания MapReduce или Spark, что избавляет пользователя от лишних действий по преобразованию данных Хайв [1].

 

Как появился Apache Hive: краткая история

Разработка Хайв началась в 2008 году разработчиками Джойдипом Сеном Сармой и Ашишем Тусу во время их работы в Facebook. Первая версия Hive вышла в свет 9 ноября 2011 года. Хайв создавался для реализации технологии Hadoop MapReduce, позволяющей вести распределенную обработку данных. Однако стояла еще одна острая проблема: невозможность быстрого обучения специалистов и аналитиков навыкам использования Hadoop. Чтобы этого избежать, было решено в качестве интерфейса использовать SQL-подобный интерфейс, так как он широко используется специалистами в области работы с данными. Хотя SQL мог удовлетворить большинство требований аналитики, создатели также решили реализовать возможности программирования Hadoop для проектирования распределенных приложений обработки больших данных. Таким образом, Хайв появился из двух идей:

  • декларативный язык на основе SQL, чтобы аналитики и дата-инженеры могли создавать собственные сценарии работы с большими данными;
  • возможности подключения различных языков программирования (Python, JAVA, Scala, C++), использующих интерфейс SQL для разработки специализированных приложений.

Последняя версия Хайв (3.1.2) вышла 26 августа 2019 года [2].

Таким образом, благодаря распределенной работе с данными и SQL-интерфейсу, Apache Hive является весьма удобным и надежным средством для работы с большими данными. Именно поэтому Hive является неотъемлемой частью экосистемы Hadoop, являющейся универсальным решением для организации обработки Big Data.

Больше подробностей про применение Apache Hive в проектах анализа больших данных вы узнаете на практических курсах по Hive в нашем лицензированном учебном центре обучения и повышения квалификации ИТ-специалистов в Москве:

IMPA: CLOUDERA IMPALA DATA ANALYTICS
ADQM: ЭКСПЛУАТАЦИЯ ARENADATA QUICKMARTS
ADBR: Arenadata DB для разработчиков
ADB: Эксплуатация Arenadata DB
HBASE: Администрирование кластера HBase
HIVE: Hadoop SQL администратор Hive
NoSQL: Интеграция Hadoop и NoSQL

 

Записаться на курс

Смотреть раcписание

Источники

  1. https://ru.bmstu.wiki/Apache_Hive
  2. https://dbdb.io/db/hive