apache-spark - 如何读取 spark sql 查询执行计划并将其保存到文本文件中?
问题描述
我想读取 spark sql 查询执行计划并将其保存到文本文件中,以便进一步分析逻辑和物理计划。如何以可以将其保存到文件的方式读取它。我正在使用df.explain()方法,但它只是将计划打印到 cmd 控制台。有什么方法可以将其存储在 String 中或直接将其保存到文本文件或从控制台中提取计划?
解决方案
您可以通过这种方式将执行计划存储到字符串中:
如果您有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
推荐阅读
- android - cardCornerRadius 在 androidx.cardview:cardview:1.0.0' 中不起作用
- node.js - 是否可以将自动搜索字段从硬编码的“建议”更改为数据库中的数据?
- node.js - 从节点事件处理程序中调用函数
- docker - 执行“network.sh up”命令后,Orderer 节点会在几秒钟内退出
- sql - 为什么我收到此 SQL 的语法错误?
- java - 文本是否包含日期格式?
- mysql - Node.js mysql 多对多关系
- asp.net - 在 ubuntu 服务器上部署 asp.net 核心应用程序时,nginx 存在重定向问题
- c# - 如何在模型中使用资源文件中的字符串(MVC 应用程序)
- strapi - 如何在 Strapi 中添加新的 API 端点路由?