我在 hive 中看到的用于计算统计数据的语法似乎表明标题问题的答案是“否”:
ANALYZE TABLE [TABLENAME] PARTITION(parcol1=…, partcol2=….) COMPUTE STATISTICS
然而,我想把它扔在这里,因为令人惊讶的是它总是需要编写一个脚本来迭代分区以生成每个分区的语句。我们现在在这个小表上有大约一千个分区,并且它将按数量级增长。
顺便说一句,我在没有指定分区的情况下尝试了以下操作:
hive> analyze table metrics compute statistics;
FAILED: SemanticException [Error 10115]: Table is partitioned and partition specification is needed