Apache Hive

Что такое Hive?

Apache Hive - это программа, которая превращает SQL-подобные запросы в задания MapReduce / Tez и выполняет их на кластере Hadoop.

Конкуренты Hive:

  • Cloudera Impala - платный аналог от Cloudera
  • Spark SQL - аналог, который работает поверх Apache Spark
  • Apache Pig - скриптовый язык обработки данных

Достоинства Hive:

  • знакомый SQL-синтаксис
  • интерактивное выполнение запросов
  • масштабируемость
  • гораздо проще чем писать MapReduce на Java
  • высокий уровень оптимизации
  • расширяемость (User Defined Functions, драйверы JDBC / ODBC, поддержка Thrift)

Недостатки Hive:

  • задержка при выполнении запросов (не подходит для OLTP)
  • данные хранятся не в нормализованном виде
  • ограничения на синтаксис запросов SQL (Pig, Spark - больше возможностей)
  • поддерживаются только запросы типа SELECT (нельзя UPDATE, INSERT, DELETE)
  • не поддерживаются транзакции