Подтвердить что ты не робот

Как Hive сравнивается с HBase?

Мне интересно узнать, как недавно выпущенный (http://mirror.facebook.com/facebook/hive/hadoop-0.17/). Hive сравнивается с HBase с точки зрения производительности. SQL-подобный интерфейс, используемый Hive, очень предпочтителен для API HBase, который мы реализовали.

4b9b3361

Ответ 1

Трудно найти много о Hive, но я нашел этот фрагмент на сайте Hive, который сильно опирается на HBase (выделено жирным шрифтом)

Hive основан на Hadoop, который является системой пакетной обработки. Соответственно, эта система не делает и не может обещать низкие задержки по запросам. Парадигма здесь - это строгое задание и уведомление, когда задания заполняются в противоположность запросам в реальном времени. В результате его нельзя сравнивать с такими системами, как Oracle, где анализ выполняется на значительно меньшем количестве данных, но анализ проходит гораздо более итеративно, когда время отклика между итерациями составляет менее нескольких минут. Время ответа на запросы Hive для наименьших заданий может составлять порядка 5-10 минут, а для более крупных заданий это может даже работать в часах.

Поскольку HBase и HyperTable - все о производительности (моделируется в Google BigTable), они звучат так, будто они будут намного быстрее, чем Hive, ценой функциональности и более высокой кривой обучения (например, у них нет объединений или SQL-подобный синтаксис).

Ответ 2

С одной стороны, Hive состоит из пяти основных компонентов: SQL-подобная грамматика и парсер, планировщик запросов, механизм выполнения запросов, репозиторий метаданных и макет хранилища столбцов. Его основное внимание уделяется аналитическим рабочим нагрузкам в стиле хранилища данных, поэтому не требуется медленное извлечение значений по ключу.

HBase имеет собственный репозиторий метаданных и расположение столбчатых хранилищ. Можно запросить запросы HiveQL по таблицам HBase, позволяя HBase использовать преимущества грамматики и анализатора улья, планировщика запросов и механизма выполнения запросов. Подробнее см. http://wiki.apache.org/hadoop/Hive/HBaseIntegration.

Ответ 3

Hive - инструмент аналитики. Подобно свиньям, он был разработан для специальной пакетной обработки потенциально огромных объемов данных за счет сокращения карты. Подумайте о террабайтах. Представьте, что вы пытаетесь сделать это в реляционной базе данных...

HBase - это хранилище ключевых значений на основе столбцов на основе BigTable. Вы не можете делать запросы как таковые, хотя вы можете выполнять работу по сокращению карты по сравнению с HBase. В основном случае используется выборка строк по ключевым словам или диапазон сканирования строк. Основной особенностью является возможность определения местоположения данных при сканировании по диапазонам ключей строк для "семейства" столбцов.

Ответ 4

К моему скромному знанию, Уль более сопоставим с Свиньи. Улей SQL-подобный, а Pig - script. Улей кажется более сложным с механизмами оптимизации запросов и выполнения, а также требует, чтобы конечные пользователи задавали параметры схемы (раздел и т.д.). Оба предназначены для обработки текстовых файлов или файлов последовательности.

HBase предназначен для хранения данных ключа и получения... вы можете сканировать или фильтровать эти пары значений (строки). Вы не можете выполнять запросы по строкам (ключ, значение).

Ответ 5

Начиная с самых последних выпусков Hive, многое изменилось, что требует небольшого обновления, так как Теперь Hive и HBase интегрированы. Это означает, что Hive можно использовать в качестве слоя запроса для хранилища данных HBase. Теперь, если люди ищут альтернативные интерфейсы HBase, Pig также предлагает действительно хороший способ загрузки и хранения данных HBase. Кроме того, похоже, что Cloudera Impala может предложить существенные запросы на основе Hive на вершине HBase. Они требуют до 45 раз быстрее запросов по сравнению с традиционными установками Hive.

Ответ 6

Hive и HBase используются для разных .

Улей:

Плюсы:

  • Apache Hive - это инфраструктура хранилища данных, построенная поверх Hadoop.
  • Он позволяет запрашивать данные, хранящиеся на HDFS, для анализа с помощью HQL, языка SQL-типа, который будет преобразован в ряд работ по сокращению карты
  • Он запускает пакетные процессы на Hadoop.
  • совместимый с JDBC, он также интегрируется с существующими инструментами на основе SQL.
  • Hive поддерживает разделы
  • Он поддерживает аналитический запрос данных, собранных за определенный промежуток времени.

Минусы:

  • В настоящее время он не поддерживает инструкции обновления
  • Он должен быть снабжен предопределенной схемой для сопоставления файлов и каталогов в столбцы

HBase:

Плюсы:

  • Масштабируемая распределенная база данных, поддерживающая структурированное хранение данных для больших таблиц
  • Он обеспечивает случайный доступ в режиме чтения/записи в реальном времени к вашим Большим данным. Операции HBase выполняются в режиме реального времени в своей базе данных, а не в заданиях MapReduce.
  • он поддерживает разделы для таблиц, а таблицы далее разбиваются на семейства столбцов
  • Масштабирование по горизонтали с огромным количеством данных с помощью Hadoop
  • Предоставляет доступ к данным на основе ключа при хранении или извлечении. Он поддерживает добавление или обновление строк.
  • Поддержка прав доступа к данным.

Минусы:

  • Запросы HBase записываются на пользовательском языке, который необходимо изучить.
  • HBase не полностью совместим с ACID.
  • Он не может использоваться со сложными шаблонами доступа (например, объединениями)
  • Это также не полная замена HDFS при выполнении большого пакета MapReduce

Резюме:

Hive может использоваться для аналитических запросов, а HBase - для запросов в реальном времени. Данные можно даже читать и писать с Hive на HBase и обратно.

Ответ 7

Чтобы сравнить Hive с Hbase, я хотел бы напомнить определение ниже:

База данных, предназначенная для обработки транзакций, не предназначена для обработки аналитика. Он не структурирован, чтобы хорошо анализировать. Хранилище данных, с другой стороны, структурирован, чтобы сделать аналитику быстрым и легким.

Hive - это инфраструктура хранилища данных, построенная на вершине Hadoop, которая подходит для длительных заданий ETL. Hbase - это база данных, предназначенная для обработки транзакций в режиме реального времени.