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

Posted

技术标签:

【中文标题】蜂巢分析查询需要很多时间【英文标题】:hive analyze query taking lot of time 【发布时间】:2019-03-07 12:21:45 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于蜂巢分析查询需要很多时间的主要内容,如果未能解决你的问题,请参考以下文章

蜂巢扫描并在一个查询中选择

蜂巢、黑斑羚和直线之间的区别

蜂巢错误:在蜂巢查询中指定字符串

蜂巢拆分字符串以获取除第一个以外的所有项目?

蜂巢计数查询无法完成它永远运行

数据蜂巢架构演进之路