以下のアプリケーションUIのスナップでは、各段階の青いブロックは何を表していますか?スパークステージDAG視覚化UIの青いブロックはどういう意味ですか?
"Exchange"と "WholeStageCodeGen"などの意味は何ですか?
スパークがここで何をしているのかを解明するためのリソースはどこにありますか?
感謝
以下のアプリケーションUIのスナップでは、各段階の青いブロックは何を表していますか?スパークステージDAG視覚化UIの青いブロックはどういう意味ですか?
"Exchange"と "WholeStageCodeGen"などの意味は何ですか?
スパークがここで何をしているのかを解明するためのリソースはどこにありますか?
感謝
各青色のボックスには、Apacheのスパークジョブのステップです。
あなたはWholeStageCodegen
についてはこのようなものを求めているが、次のとおりです。
全体のステージコード生成(別名WholeStageCodegenまたはWholeStageCodegenExec)複数の演算子を融合単一のJava関数に一緒に(コード生成をサポート計画のサブツリーなど)実行パフォーマンスの向上を目指しています。クエリを単一の最適化された関数に集約し、仮想関数呼び出しを排除し、中間データ用のCPUレジスタを活用します。
あなたは交換がより詳細でジョブの間にシャッフル交換を意味し、ここでSPARK-12795
詳細を見ることができます:
ShuffleExchangeは単項物理演算子です。 Repartition(シャッフル有効)およびRepartitionByExpression論理演算子(BasicOperators戦略で変換されたもの)に対応します。
すべての情報は、各ステップは、あなたのデータフレームを行うために何が起こっているかを示しますexplain
command
を使用してコードで取得することができ、これはあなたのロジックが正しければ見つけることが良いです。 Spark UIの詳細については、this Spark Summitのプレゼンテーションをご覧になり、実行計画についてのthisの記事をお読みください。
これらの情報は、あなたの疑問についてより多くを示します。
explainコマンドは、sparkによって行われた最適化をチェックするのに非常に便利です。 –
このグラフの作成に使用している原因を教えてください。 –