2015-09-04 3 views
4

Я присоединяюсь к 3 огромным таблицам (миллиардные таблицы строк) в HIVE. Вся статистика собрана, но все же производительность очень плохая (запрос занимает 40 минут).Производительность запроса кустов плохо

Есть ли какой-либо параметр, который я могу установить в подсказке HIVE, чтобы получить лучшую производительность?

Когда я пытаюсь исполнением я вижу информацию, как

Sep 4, 2015 7:40:23 AM INFO: parquet.hadoop.ParquetInputFormat: Total input paths to process : 1 
Sep 4, 2015 7:40:23 AM INFO: parquet.hadoop.ParquetFileReader: reading another 1 footers 

Всех таблицы создаются в BigSql с параметром хранения, как «запомненной AS PARQUETFILE»

Как я могу подавить детализацию хода работы, когда выполняется запрос HIVE?

Что касается Улой версии

hive> set system:sun.java.command; 
 
system:sun.java.command=org.apache.hadoop.util.RunJar /opt/ibm/biginsights/hive/lib/hive-cli-0.12.0.jar org.apache.hadoop.hive.cli.CliDriver -hiveconf hive.aux.jars.path=file:///opt/ibm/biginsights/hive/lib/hive-hbase-handler-0.12.0.jar,file:///opt/ibm/biginsights/hive/lib/hive-contrib-0.12.0.jar,file:///opt/ibm/biginsights/hive/lib/hbase-client-0.96.0.jar,file:///opt/ibm/biginsights/hive/lib/hbase-common-0.96.0.jar,file:///opt/ibm/biginsights/hive/lib/hbase-hadoop2-compat-0.96.0.jar,file:///opt/ibm/biginsights/hive/lib/hbase-prefix-tree-0.96.0.jar,file:///opt/ibm/biginsights/hive/lib/hbase-protocol-0.96.0.jar,file:///opt/ibm/biginsights/hive/lib/hbase-server-0.96.0.jar,file:///opt/ibm/biginsights/hive/lib/htrace-core-2.01.jar,file:///opt/ibm/biginsights/hive/lib/zookeeper-3.4.5.jar,file:///opt/ibm/biginsights/sheets/libext/piggybank.jar,file:///opt/ibm/biginsights/sheets/libext/pig-0.11.1.jar,file:///opt/ibm/biginsights/sheets/libext/avro-1.7.4.jar,file:///opt/ibm/biginsights/sheets/libext/opencsv-1.8.jar,file:///opt/ibm/biginsights/sheets/libext/json-simple-1.1.jar,file:///opt/ibm/biginsights/sheets/libext/joda-time-1.6.jar,file:///opt/ibm/biginsights/sheets/libext/bigsheets.jar,file:///opt/ibm/biginsights/sheets/libext/bigsheets-serdes-1.0.0.jar,file:///opt/ibm/biginsights/lib/parquet/parquet-mr/parquet-column-1.3.2.jar,file:///opt/ibm/biginsights/lib/parquet/parquet-mr/parquet-common-1.3.2.jar,file:///opt/ibm/biginsights/lib/parquet/parquet-mr/parquet-encoding-1.3.2.jar,file:///opt/ibm/biginsights/lib/parquet/parquet-mr/parquet-generator-1.3.2.jar,file:///opt/ibm/biginsights/lib/parquet/parquet-mr/parquet-hadoop-bundle-1.3.2.jar,file:///opt/ibm/biginsights/lib/parquet/parquet-mr/parquet-hive-bundle-1.3.2.jar,file:///opt/ibm/biginsights/lib/parquet/parquet-mr/parquet-thrift-1.3.2.jar,file:///opt/ibm/biginsights/hive/lib/guava-11.0.2.jar

+0

Если вы присоединитесь к 100% записей во всех трех таблицах, статистика не будет иметь большого значения. И 40 минут для массивного запроса Hive не удивительно. Некоторые достопримечательности могут быть: MapReduce или Tez? какой вид (ы) соединения * (см. EXPLAIN) *? сколько карточек для каждого шага соединения * (см. журналы MR или Tez) *? много искажений данных * (например, некоторые картографы пережевывают намного больше данных, чем другие, и замедляют шаг) *? сжатие на промежуточных результатах? и т. д. и т. д. и т. д. и т. д. и т. д. –

+0

Когда я использую STORED PARAMETER как ORC вместо PARQUET, я получаю очень хорошее улучшение производительности. Не могли бы вы рассказать мне, почему это так? –

+0

Почему вы выбрали Hive + Parquet? Из-за маркетинговой шумихи Клаудера? См. Мой комментарий к этому другому сообщению (и сообщению BTW) http://stackoverflow.com/questions/32350664/why-is-parquet-slower-for-me-against-text-file-format-in-hive#comment52629679_32350664 –

ответ

0

Koushik - This вопроса я задал месяц назад даст вам хорошее представление для выполнения ORC против паркета.

Позвольте мне задать этот вопрос! Какова структура ваших данных? Является ли это вложенным или плоским? Если это более плоские данные, примером может быть прием данных из СУБД, ORC лучше, поскольку он содержит световые индексы, хранящиеся рядом с данными, и ускоряет поиск данных.

Надеюсь, что это поможет

+0

Данные строятся с данными структуры. Исходные таблицы фактически созданы из bigsql, и они находятся в паркетном формате. Всего насчитывается 18 таких таблиц (5 из них - огромные таблицы). Если я использую эту паркетную структуру и разорву 18 столов, присоединяюсь к многоступенчатому процессу, то для заполнения де-нормированной таблицы сглаживания он обходится всего 6 часов. –

+0

Если мне нужно использовать формат ORC, то сначала мне нужно создать таблицу ORC для всех 18 таблиц и заполнить их, а затем только я смогу использовать эти таблицы ORC в моем многоступенчатом процессе соединения. Таким образом, задача добавления состоит в том, чтобы заполнить первые таблицы ORC из паркета. Я не думаю, что время в этом процессе значительно снизится по сравнению с тем, что оно принимает сейчас (с учетом дополнительного шага для заполнения таблиц ORC). –