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)
- не поддерживаются транзакции