Apache Spark DAG Визуализация в формате json / text - PullRequest
0 голосов
/ 28 ноября 2018

Я смотрел на оптимизацию некоторых довольно больших заданий Apache Spark и заметил, что визуализация DAG очень сложно сделать для определенного этапа.

Я не могу понять, куда уходят исходящие стрелки, с различнымипересечения и догадки / предположения, которые необходимо сделать, чтобы понять это.

Можно ли как-то загрузить формат DAG в текстовом / JSON формате, который было бы проще проанализировать с помощью vim / текстового редактора?

1 Ответ

0 голосов
/ 29 ноября 2018

Одним из ответов на ваш вопрос является использование оператора .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

...