Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

AWS Glue Streaming ジョブのモニタリングについて

フォーカスモード
AWS Glue Streaming ジョブのモニタリングについて - AWS Glue

ストリーミングジョブのモニタリングは、ETL パイプラインを構築するうえで極めて重要です。Spark UI を使用する以外に、Amazon CloudWatch を使用してメトリクスをモニタリングすることもできます。以下は、AWS Glue フレームワークによって出力されるストリーミングメトリクスのリストです。すべての AWS Glue メトリクスが含まれる完全なリストについては、「Amazon CloudWatch メトリクスを使用した AWS Glue のモニタリング」を参照してください。

AWS Glue では、構造化されたストリーミングフレームワークを使用して入力イベントを処理します。Spark API をコード内で直接使用することも、これらのメトリクスを発行する GlueContext で提供された ForEachBatch を利用することもできます。これらのメトリクスを理解するには、まず windowSize を理解する必要があります。

windowSize: windowSize は、指定するマイクロバッチの間隔です。ウィンドウサイズを 60 秒に指定すると、AWS Glue Streaming ジョブは 60 秒 (それまでに前のバッチが完了していない場合はそれ以上) 待ってから、ストリーミングソースからバッチのデータを読み取り、ForEachBatch で提供される変換を適用します。これはトリガー間隔とも呼ばれます。

メトリクスを詳しく見直して、ヘルスとパフォーマンスの特徴を理解しましょう。

注記

メトリクスは 30 秒ごとに出力されます。windowSize が 30 秒未満の場合、報告されるメトリクスは集計されたものとなります。例えば、windowSize が 10 秒で、マイクロバッチあたり 20 件のレコードを安定して処理しているとします。このシナリオでは、numRecords の出力メトリクス値は 60 になります。

メトリクスは、使用できるデータがない場合は出力されません。また、コンシューマーラグメトリクスの場合は、そのメトリクスを取得する機能を有効にする必要があります。

最高のパフォーマンスを得る方法

Spark は、Amazon Kinesis ストリーム内の読み取りのために、シャードごとに 1 つのタスクを作成しようとします。各シャードのデータはパーティションになります。次に、各ワーカーのコア数に応じて、これらのタスクをエグゼキュター/ワーカーに分散します (ワーカーあたりのコア数は、選択したワーカータイプ (G.025XG.1X など) によって異なります)。ただし、タスクがどのように分散されるかは非決定論的です。すべてのタスクは、それぞれのコアで並列実行されます。使用可能なエグゼキュターコアの数よりも多くのシャードがある場合、タスクはキューに入れられます。

上記のメトリクスとシャード数を組み合わせて、バーストのための余裕がある安定した負荷が実現するようにエグゼキュターをプロビジョニングできます。おおよそのワーカー数を決定するために、ジョブを数回繰り返すことをお勧めします。不安定で急激なワークロードの場合も、自動スケーリングと最大ワーカー数を設定することで同じことを実行できます。

windowSize は、ビジネスの SLA 要件に従って設定してください。例えば、処理されたデータが 120 秒を超えてはならないことをビジネスで義務付けている場合は、平均コンシューマーラグが 120 秒未満になるように windowSize を少なくとも 60 秒に設定します (前述のコンシューマーラグに関するセクションを参照)。そこから、numRecords とシャード数に応じて、DPU の容量を計画し、batchProcessingTimeInMs がほとんどいつも windowSize の 70% 未満になるようにします。

注記

ホットシャードはデータスキューの原因となる可能性があります。つまり、一部のシャード/パーティションが他のシャード/パーティションよりもはるかに大きくなる可能性があります。これにより、並列実行されている一部のタスクに時間がかかり、ストラグラータスクが発生する場合があります。その結果、前のバッチのすべてのタスクが完了するまで次のバッチを開始できず、これが batchProcessingTimeInMillis と最大ラグに影響することになります。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.