hive分析查询需要花费大量时间

问题描述 投票:1回答:1

为了加快大型表上的ETL查询,我们在晚上对这些表和日期列运行了许多analyze查询。但这些对列的analyze查询需要大量的内存和时间。我们正在使用tez。有没有办法优化analyze查询也像一些设置命令。

performance hadoop hive query-tuning apache-tez
1个回答
0
投票

如果使用insert overwrite加载表,则可以通过在insert overwrite查询期间设置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

© www.soinside.com 2019 - 2024. All rights reserved.