ジョブのモニタリングとデバッグ - AWS Glue

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ジョブのモニタリングとデバッグ

AWS Glue ジョブに関するメトリクスを収集して AWS Glue および Amazon CloudWatch コンソールで可視化し、問題を特定して修正できます。AWS Glue ジョブのプロファイリングには、以下のステップが必要です。

  1. メトリクスを有効にする

    1. ジョブ定義で [Job metrics (ジョブメトリクス)] オプションを有効にします。AWS Glue コンソールでプロファイリングを有効にするか、ジョブに対するパラメータとして有効にできます。詳細については、「Spark ジョブのジョブプロパティの定義」または「AWS Glue ジョブのパラメータ」を参照してください。

    2. ジョブ定義で [AWS GlueJob metrics (ジョブメトリクス)] オプションを有効にします。AWS Glue コンソールでプロファイリングを有効にするか、ジョブに対するパラメータとして有効にできます。詳細については、「AWS Glue オブザーバビリティメトリクスを使用したモニタリング」を参照してください。

  2. ジョブスクリプトが GlueContext を初期化することを確認します。たとえば、次のスクリプトスニペットは GlueContext を初期化し、プロファイリングされたコードが配置されるスクリプト内の場所を示しています。この一般的な形式は、以下のデバッグシナリオで使用されます。

    import sys from awsglue.transforms import * from awsglue.utils import getResolvedOptions from pyspark.context import SparkContext from awsglue.context import GlueContext from awsglue.job import Job import time ## @params: [JOB_NAME] args = getResolvedOptions(sys.argv, ['JOB_NAME']) sc = SparkContext() glueContext = GlueContext(sc) spark = glueContext.spark_session job = Job(glueContext) job.init(args['JOB_NAME'], args) ... ... code-to-profile ... ... job.commit()
  3. ジョブを実行します。

  4. メトリクスを視覚化します。

    1. コンソールでメトリクスを可視化し、 またはAWS Glueの異常なメトリクスを識別します。

    2. オブザーバビリティメトリクスは、Job 実行モニタリングページ、ジョブ実行詳細ページ、または Amazon CloudWatch で確認してください。詳細については、「AWS Glue オブザーバビリティメトリクスを使用したモニタリング」を参照してください。

  5. 特定されたメトリクスを使用して根本原因を絞り込みます。

  6. 必要に応じて、識別されたドライバーまたはジョブエグゼキュターのログストリームを使用して根本原因を確認します。

AWS Glueオブザーバビリティメトリクスのユースケース