spark UI には SQL タブがあります。クエリの詳細を DAG として表示できます
https://www.cloudera.com/documentation/enterprise/5-9-x/topics/operation_spark_applications.html
アプリケーションの終了後、DAG はそのノードに統計情報で注釈も付けます。例えば、
number of output rows: 155,418,058
peak memory total (min, med, max):
24.1 GB (704.0 MB, 704.0 MB, 704.0 MB)
aggregate time total (min, med, max):
15.6 m (20.8 s, 25.5 s, 42.1 s)
Exchange data size total (min, med, max):
1350.1 MB (2.2 MB, 2.3 MB, 2.3 MB)
Spark にはメトリックを取得するための API がありますか? Spark には、RESTful API によってアクセスされるhttps://spark.apache.org/docs/latest/monitoring.html#executor-task-metricsがあります。また、Spark UI のステージ タブには、各タスクの "Summary Metrics" も表示されます。でも
1) タスク ID をクエリ DAG の RDD またはノードに関連付ける方法がわかりません
2) ピーク実行メモリ メトリックは常に 0 ですが、[SQL] タブに表示されていることがわかります。
peak memory total (min, med, max):
24.1 GB (704.0 MB, 704.0 MB, 704.0 MB)
もう 1 つの問題は、DAG ノードのメトリックを読み取る方法です。例えば、
peak memory total (min, med, max):
24.1 GB (704.0 MB, 704.0 MB, 704.0 MB)
ノードの最小、中、最大ですか? その値は、合計 24.1G よりもはるかに小さいです...