選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

AWS Glue 串流的維護時段

焦點模式
AWS Glue 串流的維護時段 - AWS Glue

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS Glue 會定期執行維護活動。在這些維護時段期間, AWS Glue 將需要重新啟動您的串流任務。您可以指定維護時段來控制任務重新啟動的時間。在本節中,我們概述了您可以設定維護時段的位置,以及您應該考慮的特定行為。

設定維護時段

您可以使用 AWS Glue Studio 或 APIs設定維護時段。

在 AWS Glue Studio 中設定維護時段

您可以在 AWS Glue 串流任務的任務詳細資訊頁面中指定維護時段。您可以在 GMT 中指定日期和時間。 AWS Glue 將在指定的時段內重新啟動您的任務。

在 AWS Glue Studio 中指定維護時段

在 API 中設定維護時段

您也可以在建立任務 API 中設定維護時段。以下是透過 API 設定維護時段的範例。

aws glue create-job —name jobName —role roleArnForTheJob —command Name=gluestreaming,ScriptLocation=s3-path-to-the-script --maintenance-window="Sun:10"

範例命令如下所示:

aws glue create-job —name testMaintenance —role arn:aws:iam::012345678901:role/Glue_DefaultRole —command Name=gluestreaming,ScriptLocation=s3://glue-example-test/example.py —maintenance-window="Sun:10

維護時段行為

AWS Glue 會經歷一系列步驟,以決定何時重新啟動任務:

  1. 啟動新的串流任務時, AWS Glue 首先檢查是否有與任務執行相關聯的逾時。逾時可讓您設定任務的結束時間。如果逾時少於 7 天,則任務將不會重新啟動。

  2. 如果逾時超過 7 天,則 會 AWS Glue 檢查是否已為任務設定維護時段。如果該時段已到達,且該時段已指派給任務執行。 AWS Glue 將在指定的維護時段後 3 小時內重新啟動任務。例如,如果您在 GMT 的星期一上午 10:00 設定維護時段,您的任務將在 GMT 的上午 10:00 到下午 1:00 之間重新啟動。

  3. 如果未設定維護時段, AWS Glue 會自動將重新啟動時間設定為任務執行啟動時間後 7 天。例如,如果您在 7/1/2024 上午 12:00 GMT 啟動任務,而您未指定維護時段,您的任務將設定為在 7/8/2024 上午 12:00 GMT 重新啟動。

    注意

    如果您已經在執行串流任務,此變更將影響您自 2024 年 7 月 1 日起。您將有時間在 6 月 30 日之前設定維護時段。在 7 月 1 日之後,您啟動的任何串流任務都會根據本文件重新啟動。如果您需要任何其他支援,您可以聯絡 AWS Support。

  4. 有時, AWS Glue 可能無法重新啟動任務,特別是在未處理持續的微型批次時。在這些情況下,任務不會中斷。在這些執行個體中, AWS Glue 會在 14 天後重新啟動任務,在此情況下,不會遵守維護時段。

任務監控

您可以在 AWS Glue Studio 監控頁面中監控任務。

若要查看串流任務的預期下次重新啟動時間,請在監控頁面上顯示任務執行資料表上的 欄。

  1. 按一下資料表右上角的齒輪圖示。

    在 AWS Glue Studio 中指定維護時段
  2. 向下捲動,然後開啟預期重新啟動時間欄。UTC 和本機時間選項皆可使用。

    在 AWS Glue Studio 中指定維護時段
  3. 然後,您可以檢視資料表中的資料欄。

    在 AWS Glue Studio 中指定維護時段

原始任務將具有「EXPIRED」狀態,而新的任務執行個體將具有「RUNNING」狀態。重新啟動的新任務執行會有任務執行 ID 做為初始任務執行 ID 的串連,加上代表重新啟動計數的前綴 "restart_"。例如,如果初始任務執行 ID 為 jr_1234,則重新啟動的任務執行將具有第一次重新啟動jr1234_restart_1的 ID。第二次重新啟動將jr1234_restart_2是第二次重新啟動,以此類推。

由於重新啟動,您的重試嘗試不會受到影響。如果執行失敗,而且因為自動重試而啟動新的執行,重新啟動計數器會再次從 1 開始。例如,如果執行在 失敗jr_1234_attempt_3_restart_5,則自動重試會使用 ID 啟動新的執行:jr_id1_attempt_4當此嘗試在 7 天後重新啟動時,新的執行 ID 將會是 jr_id1_attempt_4_restart_1

資料遺失處理

在維護重新啟動期間, AWS Glue 串流會遵循程序,以確保先前任務執行與重新啟動任務執行之間的資料完整性和一致性。請注意, AWS Glue 不保證任務重新啟動之間的資料完整性和一致性,建議您考慮架構,以處理串流任務中的重複資料。

  1. 偵測維護重新啟動條件: AWS Glue 串流會監控指示何時應觸發維護重新啟動的條件,例如 7 天後達到維護時段,或 14 天後需要硬重新啟動。

  2. 叫用正常終止:當符合維護重新啟動條件時, AWS Glue 串流會為目前執行中的任務啟動正常終止程序。此程序包含下列步驟:

    1. 停止擷取新資料:串流任務會停止耗用來自輸入來源的新資料 (例如 Kafka 主題、Kinesis 串流或檔案)。

    2. 處理待定資料:任務會繼續處理已存在於其內部緩衝區或佇列中的任何資料。

    3. 遞交偏移和檢查點:任務會將最新的偏移或檢查點遞交至外部系統 (例如 Kafka、Kinesis 或 Amazon S3),以確保重新啟動的任務可以從先前任務停止的地方開始。

  3. 重新啟動任務:在正常終止程序完成後, AWS Glue 串流會使用保留狀態和檢查點重新啟動任務。重新啟動的任務會從最後一個遞交的位移或檢查點取得處理,確保不會遺失或重複資料。

  4. 繼續資料處理:重新啟動的任務會從上一個任務停止的時間點繼續資料處理。從最後一個遞交的位移或檢查點開始,它會繼續從輸入來源擷取新資料,並根據定義的 ETL 邏輯處理資料。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。