2017-09-16 2 views
2

spark-submitを使ってSparkで実行できるいくつかのScalaコードがあります。私が理解したことから、Sparkは操作をスケジュールするためにDAGを作成します。Apache SparkジョブのDAGを実行しないでどのように取得できますか?

実際に重い操作を実行せずにこのDAGを取得する方法はありますか?コードを分析するだけですか?

DAGの可視化ではなく、データ構造や少なくとも書面による表現などの有用な表現が必要です。

+1

「依存関係」にBFSを適用すると、DAGが(多かれ少なかれ)取得されます。 – zero323

答えて

2

データフレーム(spark sql)を使用している場合は、df.explain(true)を使用してプランとすべての操作(最適化の前後)を取得できます。

rddを使用している場合は、rdd.toDebugStringを使用して文字列表現を取得し、rdd.dependenciesを使用してツリー自体を取得できます。

実際のアクションなしでこれらを使用すると、実際に重い持ち上げをしなくても何が起こるかを表現できます。

+0

ありがとうございます:)データフレームの依存関係には何も似ていませんか? :/ – Quetzakol

関連する問題