AWS Glue で使用される特殊なパラメータ - AWS Glue

AWS Glue で使用される特殊なパラメータ

AWS Glue では、ジョブとその実行用にスクリプト環境をセットアップするために、いくつかの引数名が認識されます。

  • --job-language – スクリプトプログラミング言語。この値は scala または python のいずれかである必要があります。このパラメータが存在しない場合、デフォルトで python が使用されます。

  • --class – Scala スクリプトのエントリポイントとなる Scala クラス。これは、--job-languagescala に設定した場合にのみ適用されます。

  • --scriptLocation – ETL スクリプトが配置されている Amazon Simple Storage Service (Amazon S3) の場所 (s3://path/to/my/script.py 形式)。このパラメータは、JobCommand オブジェクトで設定されているスクリプトの場所を上書きします。

  • --extra-py-files – スクリプトを実行する前に、AWS Glue が Python パスに追加する Python モジュールを指す Amazon S3 パス。複数の値はコンマ (,) で区切られた完全なパスでなければなりません。ディレクトリパスではなく、個別のファイルのみがサポートされています。現在、純粋な Python モジュールのみが有効です。C または他の言語で書かれた拡張モジュールはサポートされていません。

  • --extra-jars – スクリプトを実行する前に、AWS Glue が Java クラスパスに追加する Java (.jar) ファイルを指す Amazon S3 パス。複数の値はコンマ (,) で区切られた完全なパスでなければなりません。

  • --user-jars-first – この値に true を設定した場合、クラスパス内にユーザーが追加した JAR ファイルが優先されます。このオプションは、AWS Glue バージョン 2.0 以降でのみ使用可能です。

  • --use-postgres-driver – この値に true を設定した場合、Amazon Redshift の JDBC ドライバーとの競合を避けるために、クラスパスにある Postgres JDBC ドライバーが優先されます。このオプションは、AWS Glue バージョン 2.0 以降でのみ使用可能です。

  • --extra-files – スクリプトを実行する前に、AWS Glue がスクリプトの作業ディレクトリにコピーする、設定ファイルなどの追加ファイルを指す Amazon S3 のパス。複数の値はコンマ (,) で区切られた完全なパスでなければなりません。ディレクトリパスではなく、個別のファイルのみがサポートされています。

  • --job-bookmark-option – ジョブブックマークの動作を制御します。次のオプション値を設定できます。

    ‑‑job‑bookmark‑option 値 説明
    job-bookmark-enable 以前に処理されたデータを追跡します。ジョブが実行されると、最後のチェックポイントから新しいデータを処理します。
    job-bookmark-disable 常にデータセット全体を処理します。以前のジョブからの出力の管理は、ユーザーが行います。
    job-bookmark-pause 最後のブックマークの状態は更新せずに、最後に正常に実行された後の増分データ、または次のサブオプションで識別される範囲内のデータを処理します。以前のジョブからの出力の管理は、ユーザーが行います。2 つのサブオプションは以下のとおりです。
    • job-bookmark-from <from-value> は、指定された実行 ID を含む最後に成功した実行までに処理されたすべての入力を表す実行 ID です。対応する入力は無視されます。

    • job-bookmark-to <to-value> は、指定された実行 ID を含む最後に成功した実行までに処理されたすべての入力を表す実行 ID です。<from-value> によって識別される入力を除く対応する入力は、ジョブによって処理されます。この入力より後の入力も処理対象から除外されます。

    このオプションが設定されている場合、ジョブのブックマークの状態は更新されません。

    サブオプションはオプションです。ただし、使用する場合は、両方のサブオプションを指定する必要があります。

    たとえば、ジョブブックマークを有効にするには、以下の引数を渡します。

    '--job-bookmark-option': 'job-bookmark-enable'
  • --TempDir – ジョブの一時ディレクトリに使用するためのバケットを指す、Amazon S3 のパスを指定します。

    たとえば、一時ディレクトリを設定するには、以下の引数を渡します。

    '--TempDir': 's3-path-to-directory'
    注記

    リージョンにバケットが存在しない場合、ジョブ用の一時的なバケットが AWS Glue により作成されます。このバケットは、パブリックアクセスを許可する場合があります。この Amazon S3 に置かれたバケットは、パブリックアクセスブロックを構成するために設定することができます。また、そのリージョンのすべてのジョブが完了した後に削除することが可能です。

  • --enable-s3-parquet-optimized-committer – Parquet データを Amazon S3 に書き込むために、EMRFS S3 最適化コミッターを有効にします。AWS Glue ジョブの作成または更新時に、AWS Glue コンソールからパラメータ/値のペアを指定できます。値を true に設定すると、コミッターが有効になります。デフォルトでは、このフラグはオフになっています。

    詳細については、「EMRFS S3 向けに最適化されたコミッターの使用」を参照してください。

  • --enable-rename-algorithm-v2 – EMRFS 名前変更アルゴリズムのバージョンをバージョン 2 に設定します。Spark ジョブがパーティションの動的な上書きモードを使用している場合、パーティションが重複して作成される可能性があります。例えば、s3://bucket/table/location/p1=1/p1=1 のような重複したパーティション作成されます。ここで、P1 は上書きされているパーティションです。名前変更アルゴリズムのバージョン 2 では、この問題が修正されています。

    このオプションは、AWS Glue バージョン 1.0 でのみ使用できます。

  • --enable-glue-datacatalog – AWS Glue Data Catalog の、Apache Spark Hive メタストアとしての使用を有効化します。この機能を有効にするにはキーのみを指定します (値は必要ありません)。

  • --enable-metrics – このジョブを実行するためのジョブプロファイリングに関する、メトリクスの収集を有効化します。これらのメトリクスは、AWS Glue コンソールおよび Amazon CloudWatch コンソールから利用が可能です。メトリクスを有効にするには、キーを指定します。値は必要ありません。

  • --enable-continuous-cloudwatch-log – AWS Glue ジョブで、リアルタイムの連続ログ記録を有効にします。Apache Spark ジョブに関するリアルタイムのログは、CloudWatch で表示できます。

  • --enable-continuous-log-filter – 連続ログ記録を有効にしながらジョブを作成または編集する際に、標準フィルター (true) またはフィルターなし (false) を指定します。標準フィルタを選択すると、無用な Apache Spark ドライバー/エグゼキュータや Apache Hadoop YARN ハートビートのログメッセージは除外されます。フィルタなしを選択すると、すべてのログメッセージが表示されます。

  • --continuous-log-logGroup – 連続ロギングが有効なジョブに対し、カスタム Amazon CloudWatch ロググループ名を指定します。

  • --continuous-log-logStreamPrefix – 連続ロギングが有効なジョブに対し、カスタム CloudWatch ログのストリームプレフィックスを指定します。

  • --continuous-log-conversionPattern – 連続ログが有効なジョブに対し、カスタム変換ログパターンを指定します。変換パターンは、ドライバーログとエグゼキューターログにのみ適用されます。この設定は、AWS Glue の進行状況バーには影響しません。

  • --enable-spark-uitrue を設定した場合、Spark UI を使用して AWS Glue ETLジョブのモニタリングとデバッグを行う機能が有効になります.

  • --spark-event-logs-path – Amazon S3 パスを指定します。Spark UI モニタリング機能を使用する場合、AWS Glue は Spark イベントログを、30 秒ごとに、この Amazon S3 パスの (Spark UI イベントを保存するための一時ディレクトリとして使用可能な) バケットにフラッシュします。

以下は、特殊なパラメータをセットするために --arguments を使用する、ジョブ実行の構文例です。

$ aws glue start-job-run --job-name "CSV to CSV" --arguments='--scriptLocation="s3://my_glue/libraries/test_lib.py"'

AWS Glue は次の引数を内部的に使用するため、ユーザーは使用しません。

  • --conf — AWS Glue 内部用。設定する必要はありません。

  • --debug — AWS Glue 内部用。設定する必要はありません。

  • --mode — AWS Glue 内部用。設定する必要はありません。

  • --JOB_NAME — AWS Glue 内部用。設定する必要はありません。