SparkSQL的执行计划怎么看
时间: 2023-09-04 14:15:30 浏览: 25
SparkSQL的执行计划可以通过使用`explain`命令来查看。`explain`命令可以将SQL语句的执行计划输出到控制台。执行计划包括物理计划和逻辑计划两部分。
物理计划是最终执行的计划,它描述了Spark在集群上运行的实际操作,包括如何分区、如何聚合、如何排序等。逻辑计划是SQL语句经过解析后的逻辑执行计划,它描述了SQL语句的执行顺序和数据处理方式,但不包含具体的物理实现。
以下是查看执行计划的示例:
```scala
val df = spark.sql("SELECT name, age FROM people WHERE age > 20")
df.explain()
```
执行结果如下所示:
```
== Physical Plan ==
*(1) Project [name#0, age#1]
+- *(1) Filter (isnotnull(age#1) AND (age#1 > 20))
+- *(1) Scan parquet default.people[name#0,age#1]
```
可以看到,该执行计划包括以下几个部分:
1. `Scan`:从磁盘读取数据。
2. `Filter`:过滤符合条件的数据。
3. `Project`:只保留需要的列。
4. `parquet`:使用parquet格式读取数据。
通过查看执行计划,可以帮助我们理解SparkSQL的执行过程,优化SQL语句的性能。