Производительность Hive Hbase JOIN и KUDU

Чтение документации Cloudera с использованием Impala для объединения таблицы Hive с меньшими таблицами HBase, как указано ниже, затем в отсутствие устройства больших данных, такого как OBDA, и большой таблицы измерений HBase, которая является изменяемой:

Если у вас есть запросы на соединение, которые выполняют операции агрегирования с большими таблицами фактов и объединяют результаты с небольшими таблицами измерений, рассмотрите возможность использования Impala для таблиц фактов и HBase для таблиц измерений. (Поскольку в этом случае Impala выполняет полное сканирование таблицы HBase, а не выполняет поиск по одной строке HBase на основе столбца соединения, используйте этот метод только в тех случаях, когда таблица HBase достаточно мала, чтобы выполнение полного сканирования таблицы не приводило к узкое место производительности для запроса.)

Есть ли способ получить этот единственный ключ другим способом?

Вдобавок я отметил следующее о KUDU и HDFS, предположительно HIVE. У кого-нибудь есть здесь опыт? Очень хочу знать. Я буду пробовать это сам в свое время, но установить посылки на нераспакованные быстрые запуски не так-то просто ...

Комбинируйте и подбирайте менеджеры хранилища в одном приложении (или запросе)

• SELECT COUNT(*) FROM my_fact_table_on_hdfs JOIN
my_dim_table_in_kudu ON ...

person thebluephantom    schedule 06.06.2017    source источник
comment
Есть ли способ получить этот единственный ключ другим способом ›вы имеете в виду, прочитать огромный набор данных один раз, чтобы извлечь список ключей, а затем получить соответствующие записи из HBase (с несколькими GET в loop), затем снова прочитать огромный набор данных для выполнения поиска? Это было бы невероятно неэффективно, вам не кажется?   -  person Samson Scharfrichter    schedule 06.06.2017
comment
Я не делаю никаких предположений о том, что лучше, но я был администратором баз данных VLDB ORACLE с производительностью и настройкой, которые, конечно, немного отличаются. Что такое маленькая таблица в BIG DATA? Ваш ответ приводит к варианту KUDU.   -  person thebluephantom    schedule 06.06.2017
comment
HBase - это база данных типа "ключ-значение", предназначенная для произвольного доступа и без транзакций. Hive - это механизм пакетных запросов, построенный на основе HDFS (распределенная файловая система для неизменяемых больших файлов) и YARN (диспетчер ресурсов для распределенных пакетных заданий). У Hive также есть коннектор для запуска полного сканирования HBase, но здесь наблюдается СЕРЬЕЗНОЕ несоответствие импеданса ...   -  person Samson Scharfrichter    schedule 06.06.2017
comment
С другой стороны, Phoenix пытается добавить некоторые функции СУБД - примитивные типы данных, схемы таблиц, индексирование, транзакции - поверх HBase. И Kudu пытается использовать некоторые функции СУБД - атомарные вставки-обновления-удаления - в качестве альтернативы HDFS + YARN, но это инициатива Cloudera, ориентированная на Impala и Spark (не на Hive ...!)   -  person Samson Scharfrichter    schedule 06.06.2017
comment
Также обратите внимание, что Kudu все еще незрелый, у него еще нет серьезных функций аутентификации / авторизации / аудита, нет серьезной документации (даже если вы являетесь клиентом Cloudera).   -  person Samson Scharfrichter    schedule 06.06.2017
comment
в Big Data то, что представляет собой небольшая таблица ›на практике небольшая таблица может поместиться в ОЗУ одного контейнера YARN, как Java HashMap - ср. Присоединение к карте в openkb.info/2014/11/understanding -hive-joins-in-manage.html ›обратите внимание, что вложенных циклов нет на картинке (хотя сообщение немного устарело, и я точно не знаю, над какими новыми игрушками работает HortonWorks свою инициативу LLAP)   -  person Samson Scharfrichter    schedule 06.06.2017
comment
... и обратите внимание, что нередко запрашивать большие контейнеры (16 МБ +) для конкретных запросов, просто чтобы иметь возможность уместить справочную таблицу (или отдельную корзину справочной таблицы) в ОЗУ.   -  person Samson Scharfrichter    schedule 06.06.2017
comment
В порядке. Я знаком с hive, impala и hbase, и скоро буду наставником по некоторым из них. Но я также специалист по хранилищам данных, которому нравятся размеры. Все, что мне нужно, это быстрый поиск ключа измерения. Я должен быть в состоянии квалифицировать сканирование как мое мнение или использовать Kudu для lkp.   -  person thebluephantom    schedule 06.06.2017
comment
Мне не нужно полное сканирование hbase, хотя я читал об этом   -  person thebluephantom    schedule 06.06.2017
comment
Но Импала может читать таблицы Hive, так что она наверняка присоединится к Kudu?   -  person thebluephantom    schedule 06.06.2017
comment
Давайте продолжим это обсуждение в чате.   -  person thebluephantom    schedule 06.06.2017


Ответы (1)


Ошибаясь из соображений осторожности, связывание с KUDU для измерений было бы способом избежать сканирования большого размера в HBASE, когда требуется только lkp.

Я отказываюсь от последнего пункта, я уверен, что JOIN не вызовет сканирование HBASE, если это равное соединение.

Тем не менее, IMPALA с MPP позволяет использовать подход MPP без MR и СОЕДИНЕНИЯ измерений с таблицами фактов. Преимущество OBDA сейчас менее очевидно. имо.

person thebluephantom    schedule 07.06.2017