在 Spark 上打印查询 Hive 的物理计划

Posted

技术标签:

【中文标题】在 Spark 上打印查询 Hive 的物理计划【英文标题】:Print physical plan of query Hive on Spark 【发布时间】:2020-11-30 15:24:30 【问题描述】:

我使用 hive 2.3.7 和 spark-2.0.0 作为执行引擎。 我想知道如何打印物理计划,以查看例如 caclcite 选择在查询中执行的连接算法。

【问题讨论】:

【参考方案1】:

您可以使用explain

在 Pyspark 中:

df = df1.join(df2, 'id')
df.explain()

在 Spark SQL/Hive QL 中:

EXPLAIN SELECT * FROM table1 JOIN table2 ON table1.id = table2.id;

查看更多详情

http://spark.apache.org/docs/latest/sql-ref-syntax-qry-explain.html

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Explain

【讨论】:

感谢您的回答,但恐怕这是蜂巢上的火花,而不是火花上的蜂巢。我说的是这个:cwiki.apache.org/confluence/display/Hive/… Spark SQL 应该也可以在 HiveQL 上运行,试试是否可行

以上是关于在 Spark 上打印查询 Hive 的物理计划的主要内容,如果未能解决你的问题,请参考以下文章

1spark-sql配置

spark计算引擎之SPARK详解

Spark Streaming 重用物理计划

Spark SQL与Hive的关系

求问怎么设置sparksql读取hive的数据库

Hive基本概述以及执行原理