анализ улья, занимающий много времени - PullRequest
1 голос
/ 07 марта 2019

Чтобы ускорить ETL-запросы к большим таблицам, мы выполняем много analyze запросов к этим таблицам и столбцам даты вечером.но эти analyze запросы к столбцам занимают много памяти и времени.мы используем тез.Есть ли способ оптимизировать запрос analyze также как некоторые команды set.

1 Ответ

0 голосов
/ 09 марта 2019

Если вы загружаете таблицы с использованием перезаписи вставки, тогда статистику можно собирать автоматически, задав hive.stats.autogather=true во время запросов на перезапись вставки.

Если таблица разбита на разделы и разделы загружаются постепенно, то вы можете анализировать толькопоследние разделы.

ANALYZE TABLE [db_name.]tablename [PARTITION(partcol1[=val1], partcol2[=val2], ...)] 

См. Примеры здесь: https://cwiki.apache.org/confluence/display/Hive/StatsDev

Для файлов ORC можно указать hive.stats.gather.num.threads для увеличения параллелизма.

См. Полный список настроек статистики здесь:https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-Statistics

...