首页 > 解决方案 > 如何读取 spark sql 查询执行计划并将其保存到文本文件中?

问题描述

我想读取 spark sql 查询执行计划并将其保存到文本文件中,以便进一步分析逻辑和物理计划。如何以可以将其保存到文件的方式读取它。我正在使用df.explain()方法,但它只是将计划打印到 cmd 控制台。有什么方法可以将其存储在 String 中直接将其保存到文本文件从控制台中提取计划

标签: apache-sparkapache-spark-sqlsql-execution-planexplain

解决方案


您可以通过这种方式将执行计划存储到字符串中:
如果您有dataframe df

df.queryExecution.toString()

对于逻辑计划:

df.queryExecution.logical.toString()

要查看 PySpark 到底在调用什么,您可以查看https://spark.apache.org/docs/2.1.3/api/python/_modules/pyspark/sql/dataframe.html


推荐阅读