gpt4 book ai didi

apache-spark - 在 Spark 2.2 之前是否有任何使用的表统计信息?

转载 作者:行者123 更新时间:2023-12-04 04:49:41 25 4
gpt4 key购买 nike

Spark 2.2 引入了基于成本的优化(CBO,https://databricks.com/blog/2017/08/31/cost-based-optimizer-in-apache-spark-2-2.html),它利用了表统计信息(由 ANALYZE TABLE COMPUTE STATISTICS.... 计算)

我的问题是:在 Spark 2.2(在我的情况下为 2.1)对(外部配置单元)表进行操作之前,预先计算的统计信息是否也有用?统计信息会影响优化器吗?如果是,我是否也可以在 Impala 而不是 Hive 中计算统计数据?

更新:

到目前为止我发现的唯一提示是 https://issues.apache.org/jira/browse/SPARK-15365

显然统计数据用于决定是否完成广播连接

最佳答案

Apparently statistics are used to decide whether a broadcast-join is done are not



正如您在 UPDATE 中提到的,没有开启基于成本的优化,表统计信息(使用 ANALYZE TABLE COMPUTE STATISTICS 计算)仅用于 JoinSelection会选择的执行计划策略 BroadcastHashJoinExecBroadcastNestedLoopJoinExec物理运算符。
JoinSelection用途 spark.sql.autoBroadcastJoinThreshold配置属性,默认为 10M。

关于apache-spark - 在 Spark 2.2 之前是否有任何使用的表统计信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46950007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com