我正在考虑优化一些相当大的Apache Spark作业,并观察到DAG可视化对于特定阶段来说非常复杂。
我无法理解外向箭头的位置,各种交叉点和猜测/假设是为了理解它。
这是我可以下载DAG的text / json格式的方式,使用vim / text编辑器更容易分析吗?
使用.explain运算符,它将逻辑和(启用扩展标志)物理计划打印到控制台。
val records = spark.
readStream.
format("rate").
load
scala> records.explain
== Physical Plan ==
StreamingRelation rate, [timestamp#0, value#1L]
scala> records.explain(extended = true)
== Parsed Logical Plan ==
StreamingRelation DataSource(org.apache.spark.sql.SparkSession@4071aa13,rate,List(),None,List(),None,Map(),None), rate, [timestamp#0, value#1L]
== Analyzed Logical Plan ==
timestamp: timestamp, value: bigint
StreamingRelation DataSource(org.apache.spark.sql.SparkSession@4071aa13,rate,List(),None,List(),None,Map(),None), rate, [timestamp#0, value#1L]
== Optimized Logical Plan ==
StreamingRelation DataSource(org.apache.spark.sql.SparkSession@4071aa13,rate,List(),None,List(),None,Map(),None), rate, [timestamp#0, value#1L]
== Physical Plan ==
StreamingRelation rate, [timestamp#0, value#1L]
物理计划是DAG的转换,因此它可以帮助您。
这个链接可能会有所帮助:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。