Разница между ульем и импалой

Hive - это проект программного обеспечения для хранилищ данных, построенный на основе APACHE HADOOP, разработанный командой Джеффа в Facebook с текущей стабильной версией 2.3.0. Он используется для обобщения больших данных и упрощает запросы и анализ. Apache Hive - эффективный стандарт для SQL-in Hadoop. Impala - это механизм обработки параллельных запросов SQL, который работает на Apache Hadoop и используется для обработки данных, которые хранятся в HBase (база данных Hadoop) и распределенной файловой системе Hadoop. Impala - это продукт SQL-запросов с открытым исходным кодом для параллельной обработки (MPP) для данных, хранящихся в локальном системном кластере, работающем на Apache Hadoop. Apache Hive и Impala являются ключевыми частями системы Hadoop.

Итак, давайте подробно изучим Hive и Impala:

Улей

  • Apache Hive помогает анализировать огромный набор данных, хранящийся в файловой системе Hadoop (HDFS) и других совместимых файловых системах.
  • Hive QL - Для запроса данных, хранящихся в кластере Hadoop .
  • Эксплуатирует масштабируемость Hadoop при переводе .
  • Улей не полная база данных .
  • Он не обеспечивает обновления на уровне записи .
  • Hadoop - это пакетно-ориентированная система .
  • Запросы Hive имеют высокую задержку из-за MapReduce .
  • Hive не предоставляет возможности , близкие к OLAP .
  • Лучше всего подходит для приложений хранилища данных .
  • Выполнение запроса через MapReduce .
  • Язык запросов может использоваться с пользовательскими скалярными функциями (UDF), агрегатами (UDAF) и табличными функциями (UDTF) .
  • Hive также обеспечивает индексирование для ускорения, тип индекса, включая индекс сжатия и растрового изображения, начиная с 0.10, планируется больше типов индекса.
  • Hive поддерживает следующие типы хранилищ: RCfile, HBase, ORC и обычный текст .
  • SQL-подобные запросы (Hive QL), которые неявно преобразуются в задания MapReduce, Tez или Spark .
  • По умолчанию Hive хранит метаданные во встроенной базе данных Apache Derby .

IMPALA

  • Impala - это механизм запросов, который работает на Hadoop . Это публичное бета-тестирование было объявлено в октябре 2012 года и стало общедоступным в мае 2013 года.
  • Он поддерживает HDFS Apache HBase и Amazon S3 .
  • Читает форматы файлов Hadoop, включая текстовые файлы, файлы Parquet, Avro, RCFile, LZO и Sequence .
  • Поддерживает Hadoop Security (аутентификацию Kerberos) .
  • Использует метаданные, драйвер ODBC и синтаксис SQL из Apache Hive .
  • Он поддерживает несколько кодеков сжатия:

(a) Snappy (рекомендуется для эффективного баланса между степенью сжатия и скоростью распаковки),

(б) Gzip (рекомендуется при достижении максимального уровня сжатия),

(c) Deflate (не поддерживается для текстовых файлов), Bzip2, LZO (только для текстовых файлов);

  • Это позволяет запрашивать вложенные структуры, включая карты, структуры и массивы.
  • Это позволяет многопользовательским параллельным запросам, а также позволяет контроль доступа на основе приоритетов и очереди запросов.

Сравнение лицом к лицу между ульем и импалой (инфографика)

Ниже приведено 20 лучших сравнений между Hive и Impala

Ключевая разница между Улей против Импалы

Различия между Улей против Импалы объясняются в пунктах, представленных ниже:

  • Hive разработан командой Джеффа в Facebook, а Impala разработан Apache Software Foundation .
  • Hive поддерживает формат файлов в формате Optimized row columnar (ORC) со сжатием Zlib, но Impala поддерживает формат Parquet с мгновенным сжатием .
  • Hive написан на Java, а Impala написан на C ++.
  • Скорость обработки запросов в Hive медленная, но Impala в 6-69 раз быстрее, чем Hive .
  • В улье латентность высока, а в импале латентность низка .
  • Hive поддерживает хранение файлов RC и ORC, но поддержка хранения Impala - это Hadoop и Apache HBase .
  • Hive генерирует выражение запроса во время компиляции, но в Impala генерация кода для «больших циклов» происходит во время выполнения .
  • Hive не поддерживает параллельную обработку, но Impala поддерживает параллельную обработку.
  • Hive поддерживает MapReduce, но Impala не поддерживает MapReduce .
  • В Hive нет функции безопасности, но Impala поддерживает аутентификацию Kerberos .
  • В обновлении любого проекта, где важны совместимость и скорость, Hive - идеальный выбор, но для нового проекта Impala - идеальный выбор .
  • Улей отказоустойчив, но Impala не поддерживает отказоустойчивость .
  • Hive поддерживает сложный тип, но Impala не поддерживает сложные типы .
  • Hive - это пакетный Hadoop MapReduce, а Impala - это база данных MPP .
  • Hive не поддерживает интерактивные вычисления, но Impala поддерживает интерактивные вычисления .
  • У запроса Hive есть проблема «холодного запуска», но в Impala процесс демона запускается во время самой загрузки .
  • Менеджер ресурсов Hive - это YARN (еще один участник переговоров о ресурсах), но в Impala менеджер ресурсов является собственным * YARN .
  • Все дистрибутивы Hive - это дистрибутив Hadoop, Hortonworks (Tez, LLAP), но в дистрибутиве Impala - Cloudera MapR (* Amazon EMR) .
  • Аудитория улья - это инженеры данных, а аудитория Импалы - аналитик данных / специалисты по данным.
  • Пропускная способность улья высока, но в Impala низкая .

Hive vs Impala Сравнительная таблица

Серийный номер.Основа для сравненияулейImpala
1.РазработаноfacebookApache Software
Фонд
2.Формат файла
  • Файл последовательности.
  • Текстовый файл.
  • Оптимизированный столбчатый формат (ORC) со сжатием Zlib.
  • Формат файла RC.
  • Формат паркета с мгновенным сжатием.
  • Avro
  • LZO
  • Файл последовательности.
3.языкНаписано на JAVAНаписано на C ++
4.Скорость обработкиУлей медленныйИмпала быстро
5.ЗадержкаВысокоНизкий
6.Поддержка хранилищаRC файл, ORCHadoop, Apache HBase
7.Преобразование кодаСоздает выражение запроса во время компиляцииГенерация кода происходит во время выполнения.
8.Поддерживает параллельную обработкунетда
9.Поддержка MapReduceданет
10.Hadoop SecurityнетПоддерживает аутентификацию Kerberos.
11.использованиеИдеально подходит для обновления проектаИдеально для начала нового проекта.
12.ОтказоустойчивойУлей терпимый к ошибкам.Не поддерживает отказоустойчивость.
13.Сложные типыУлей поддерживает сложные типы.Импала не поддерживает сложные типы.
14.Тип базы данныхHive - это пакетный Hadoop MapReduce.Это база данных MPP
15.Интерактивные вычисленияНе поддерживает интерактивные вычисления.Поддерживает интерактивные вычисления.
16.выполнениеВ запросе Hive возникла проблема с «холодным стартом»Процесс импалы всегда начинается во время загрузки демонов.
17.Управление ресурсамиПРЯЖАРодной * YARN
18.РаспределенияHIVE - все дистрибутивы Hadoop, Hortonworks (Tez, LLAP)Cloudera MapR,
(* Amazon EMR)
19.АудиторияИнженеры данныхАналитик данных / Ученые данных
20.пропускная способностьВысокая пропускная способностьНизкая пропускная способность

Вывод - Улей против Импалы

В этой статье мы попытались продемонстрировать, каковы две технологии, а именно Hive и Impala, а также основное различие между этими технологиями. В практическом плане мы можем сказать, что Hive и Impala не являются конкурентами, они оба принадлежат одному и тому же фундаменту, известному как MapReduce для выполнения запросов, использование обоих может создать разницу. В соответствии с нашими потребностями мы можем использовать его вместе или наилучшим образом в зависимости от совместимости, потребностей и производительности. Языком запросов Hive является Hive QL, который является очень универсальным и универсальным языком, в то время как Impala требует большого объема памяти и не очень хорошо подходит для обработки тяжелых данных, например запросов на соединение. Если в вашем проекте работа связана с пакетной обработкой большого объема данных, Hive в этом случае будет лучше, а если ваша работа связана с процессом специального запроса данных в реальном времени, тогда Impala будет лучше тот случай.

Рекомендуемая статья

Это было руководство по Hive Vs Impala, их значению, сравнению лицом к лицу, ключевым различиям, сравнительной таблице и выводам. Вы также можете посмотреть следующие статьи, чтобы узнать больше -

  1. Apache Hive против Apache Spark SQL - 13 удивительных отличий
  2. Hive VS HUE - Топ 6 полезных сравнений для изучения
  3. Apache Pig против Apache Hive - Лучшие 12 полезных отличий
  4. Hadoop vs Hive - узнай лучшие отличия
  5. Использование функции ORDER BY в Hive