蜂巢分析查询需要很多时间

时间:2019-03-07 12:21:46

标签: performance hadoop hive query-tuning apache-tez

为了加快大表上的ETL查询,我们晚上在这些表和日期列上运行许多analyze查询。 但是这些对列的analyze查询会占用大量内存和时间。 我们正在使用tez。 像某些设置命令一样,有什么方法可以优化analyze查询。

1 个答案:

答案 0 :(得分:0)

如果要使用插入覆盖来加载表,则可以通过在插入覆盖查询期间设置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