AWS Glue ジョブ用の Apache Spark ウェブ UI の有効化 - AWS Glue

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

AWS Glue ジョブ用の Apache Spark ウェブ UI の有効化

Apache Spark ウェブ UI を使用して、AWS Glue ジョブシステムで実行されている AWS Glue ETL ジョブをモニタリングおよびデバッグできます。Spark UI は、AWS Glue コンソールまたは AWS Command Line Interface (AWS CLI) を使用して設定できます。

30 秒ごとに、AWS Glue は指定した Amazon S3 パスに Spark イベントログをバックアップします。

Spark UI の設定 (コンソール)

以下のステップに従い、 AWS Management Consoleを使用して Spark UI を設定します。 AWS Glue ジョブを作成する場合、Spark UI はデフォルトで有効になっています。

ジョブを作成または編集するときに Spark UI をオンにするには 
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/glue/ でAWS Glueコンソールを開きます。

  2. ナビゲーションペインで ジョブを選択します。

  3. [ジョブを追加] を選択するか、または既存のジョブを選択します。

  4. [ジョブの詳細] で、[詳細プロパティ] を開きます。

  5. [Spark UI] タブで、[Spark UI ログを Amazon S3 に書き込む] を選択します。 

  6. ジョブの Spark イベントログを保存するための Amazon S3 パスを指定します。ジョブでセキュリティ設定を使用する場合、暗号化は Spark UI ログファイルにも適用されることに注意してください。  詳細については、「AWS Glue​ によって書き込まれたデータの暗号化」を参照してください。

  7. [Spark UI のログ記録とモニタリングの設定] で、次のように操作します。

    • AWS Glue コンソールで表示するログを生成する場合は、標準 を選択します。

    • Spark 履歴サーバーで表示するログを生成している場合は、[レガシー] を選択します。

    • 両方を生成することを選択することもできます。

Spark UI の設定 (AWS CLI)

Spark UI で表示するためのログを生成するには、 AWS Glue コンソールで を使用して、次のジョブパラメータ AWS CLI をAWS Glueジョブに渡します。詳細については、「AWS Glue ジョブのパラメータ」を参照してください。

'--enable-spark-ui': 'true', '--spark-event-logs-path': 's3://s3-event-log-path'

ログをレガシーの場所に配布するには、--enable-spark-ui-legacy-path パラメータを "true" に設定します。両方の形式でログを生成したくない場合は、--enable-spark-ui パラメータを削除します。

Notebook を使用するセッション用の Spark UI の設定

警告

AWS Glue インタラクティブセッションは現在、コンソールで Spark UI をサポートしていません。Spark 履歴サーバーを設定します。

AWS Glue ノートブックを使用する場合は、セッションを開始する前に SparkUI 設定をセットアップします。そのためには、次のように %%configure セルマジックを使用します。

%%configure { “--enable-spark-ui”: “true”, “--spark-event-logs-path”: “s3://path” }

ローリングログを有効にする

AWS Glue ジョブの SparkUI とローリングログファイルを有効にすると、いくつかの利点があります。

  • ローリングログファイル – ローリングログファイルを有効にすると、 はジョブ実行の各ステップに個別のログファイル AWS Glue を生成し、特定のステージまたは変換に固有の問題の特定とトラブルシューティングを容易にします。

  • ログ管理の向上 — ローリングログファイルは、ログファイルをより効率的に管理するのに役立ちます。潜在的に大きなログファイルを 1 つ持つ代わりに、ログはジョブの実行ステージに基づいて、より小さく管理しやすいファイルに分割されます。これにより、ログのアーカイブ、分析、トラブルシューティングを簡素化できます。

  • 耐障害性の向上 – AWS Glue ジョブが失敗または中断された場合、ローリングログイベントファイルは、最後に成功したステージに関する貴重な情報を提供するため、最初から開始するのではなく、その時点からジョブを再開することが容易になります。

  • コストの最適化 — ローリングログファイルを有効にすることで、ログファイルに関連するストレージコストを節約できます。潜在的に大きなログファイルを 1 つ保存する代わりに、より小さく、管理しやすいログファイルを保存します。これは、特に長時間実行されるジョブや複雑なジョブの場合に、よりコスト効率が高くなります。

新しい環境では、ユーザーは以下を通じてローリングログを明示的に有効にできます。

'—conf': 'spark.eventLog.rolling.enabled=true'

または

'—conf': 'spark.eventLog.rolling.enabled=true —conf spark.eventLog.rolling.maxFileSize=128m'

ローリングログがアクティブ化されると、ロールオーバーする前にイベントログファイルの最大サイズspark.eventLog.rolling.maxFileSizeを指定します。このオプションパラメータを指定しない場合のデフォルト値は 128 MB です。最小は 10 MB です。

生成されたすべてのロールされたログファイルの最大合計は 2 GB です。ローリングログがサポートされていない AWS Glue ジョブの場合、SparkUI でサポートされるログファイルの最大サイズは 0.5 GB です。

追加の設定を渡すことで、ストリーミングジョブのローリングログをオフにすることができます。  ログファイルが非常に大きいと、管理にコストがかかる場合があることに注意してください。 

ローリングログをオフにするには、次の設定を提供します。

'--spark-ui-event-logs-path': 'true', '--conf': 'spark.eventLog.rolling.enabled=false'