為 AWS Glue 任務啟用 Apache Spark web UI - AWS Glue

為 AWS Glue 任務啟用 Apache Spark web UI

您可以使用 Apache Spark Web UI 來監控和偵錯在 AWS Glue 任務系統上執行的 AWS Glue ETL 任務。您可以使用 AWS Glue 主控台或 AWS Command Line Interface (AWS CLI) 來設定 Spark UI。

每 30 秒,AWS Glue 會將 Spark 事件日誌備份至您指定的 Amazon S3 路徑。

設定 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. 在導覽窗格中,選擇 Jobs (任務)

  3. 選擇新增任務,或選取現有任務。

  4. 任務詳細資料中,開啟進階屬性

  5. Spark UI 索引標籤下方,選擇將 Spark UI 日誌寫入 Amazon S3

  6. 指定 Amazon S3 路徑以用於存放任務的 Spark 事件日誌。請注意,如果在工作中使用安全組態,加密也會套用至 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 參數。

使用筆記本為工作階段設定 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 會針對任務執行的每個步驟產生單獨的日誌檔案,可更輕鬆地識別特定階段或轉換的特定問題並進行疑難排解。

  • 更好的日誌管理 – 滾動日誌事件檔案有助於更有效率地管理日誌檔案。日誌不是單一但可能很大的日誌檔案,而是會根據任務執行階段分區成更小、更易於管理的檔案。這可以簡化日誌封存、分析和故障診斷。

  • 提高容錯能力 – 如果 AWS Glue 任務失敗或中斷,滾動日誌事件檔案可以提供有關最後一個成功階段的有價值資訊,讓您更輕鬆地從該點繼續任務,而不是從頭開始。

  • 成本最佳化 – 透過啟用滾動日誌事件檔案,可以節省與日誌檔案相關聯的儲存成本。您可以儲存更小、更易於管理的日誌檔案,而非儲存單一、可能很大的日誌檔案,這可能更具成本效益,尤其對於長時間執行或複雜任務。

在新環境中,使用者可以透過以下方法明確啟用滾動日誌:

'—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'