翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Spark UI を使用してパフォーマンスの問題を調査する
AWS Glue ジョブのパフォーマンスをチューニングするためのベストプラクティスを適用する前に、パフォーマンスをプロファイリングし、ボトルネックを特定することを強くお勧めします。これにより、適切なことに集中できます。
迅速な分析のために、Amazon CloudWatch メトリクスはジョブメトリクスの基本的なビューを提供します。Spark UI は、パフォーマンスチューニングに関してより詳細なビューを提供します。AWS Glue で Spark UI を使用するには、AWS Glue ジョブで Spark UI を有効にする必要があります。Spark UI に慣れたら、「Spark ジョブのパフォーマンスをチューニングするための戦略」に従って、検出結果に基づいてボトルネックの影響を特定して軽減します。
Spark UI を使用してボトルネックを特定する
Spark UI を開くと、Spark アプリケーションがテーブルに一覧表示されます。デフォルトでは、AWS Glue ジョブのアプリケーション名は nativespark-<Job
Name>-<Job Run ID> です。ジョブ実行 ID に基づいてターゲット Spark アプリを選択し、[ジョブ] タブを開きます。ストリーミングジョブの実行など、不完全なジョブの実行は、[不完全なアプリケーションを表示] に表示されています。
[ジョブ] タブには、Spark アプリケーション内のすべてのジョブの概要が表示されます。ステージまたはタスクの失敗を判断するには、タスクの合計数を確認します。ボトルネックを見つけるには、[期間] を選択してソートします。[説明] 列に表示されるリンクを選択して、長時間実行されるジョブの詳細にドリルダウンします。
[ジョブの詳細] ページには、ステージが一覧表示されます。このページでは、期間、成功したタスクの数と合計タスクの数、入力と出力の数、シャッフル読み取りとシャッフル書き込みの量などの全体的なインサイトを確認できます。
[エグゼキュター] タブには、Spark クラスターの容量の詳細が表示されます。コアの合計数を確認できます。次のスクリーンショットに示すクラスターには、316 個のアクティブコアと合計 512 個のコアが含まれています。デフォルトでは、各コアは 1 つの Spark タスクを同時に処理できます。
[ジョブの詳細] ページに表示される 5/5 という値に基づくと、ステージ 5 が最も長いステージですが、512 個のうち 5 個のコアしか使用しません。このステージの並列処理は非常に低いですが、かなりの時間がかかるため、ボトルネックとして特定できます。パフォーマンスを向上させるには、その原因を理解する必要があります。一般的なパフォーマンスのボトルネックの影響を認識して軽減する方法の詳細については、「Spark ジョブのパフォーマンスをチューニングするための戦略」を参照してください。