开发者社区> 问答> 正文

以json / text格式的Apache Spark DAG可视化

我正在考虑优化一些相当大的Apache Spark作业,并观察到DAG可视化对于特定阶段来说非常复杂。

我无法理解外向箭头的位置,各种交叉点和猜测/假设是为了理解它。

这是我可以下载DAG的text / json格式的方式,使用vim / text编辑器更容易分析吗?

展开
收起
社区小助手 2018-12-05 14:02:28 3204 0
2 条回答
写回答
取消 提交回答
  • 可以转换成节点-连接形式的JSON数据,然后使用dagre-d3来可视化展示。这样可视化后就能看出问题了。

    2019-07-17 23:18:20
    赞同 展开评论 打赏
  • 社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。

    使用.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的转换,因此它可以帮助您。

    这个链接可能会有所帮助:

    https://jaceklaskowski.gitbooks.io/spark-structured-streaming/spark-sql-streaming-Dataset-explain.html

    2019-07-17 23:18:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Flink技术进阶 立即下载
Apache Spark: Cloud and On-Prem 立即下载
Hybrid Cloud and Apache Spark 立即下载

相关镜像