選取您的 Cookie 偏好設定

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

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

關於監視 AWS Glue 串流工作

焦點模式
關於監視 AWS Glue 串流工作 - AWS Glue

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

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

監控串流作業是建立ETL管道的關鍵部分。除了使用 Spark UI 之外,您還可以使 CloudWatch 用 Amazon 監視指標。以下是 AWS Glue 框架發出的流指標列表。如需所有 AWS Glue 指標的完整清單,請參閱AWS Glue 使用 Amazon CloudWatch 指標進行監控

AWS Glue 使用結構化的串流架構來處理輸入事件。您可以API直接在代碼中使用 SparkGlueContext,也可以利用發布這些指標ForEachBatch提供的提供者。若要了解這些指標,我們必須先了解何謂 windowSize

windowSize: windowSize 是您提供的微批次間隔。如果您指定的視窗大小為 60 秒, AWS Glue 串流工作將等待 60 秒 (如果上一個批次尚未完成,則會等待更長時間),然後才會從串流來源讀取批次中的資料並套用中ForEachBatch提供的轉換。此間隔也稱為「觸發間隔」。

讓我們更深入地查看指標,以了解運作狀態和效能特性。

注意

這些指標每 30 秒發出一次。如果您的 windowSize 小於 30 秒,則回報的指標會是彙總資料。舉例來說,假設您的 windowSize 是 10 秒,每個微批次固定處理 20 筆記錄。在這個案例中,發出的量度值 numRecords 會是 60。

如果沒有可用的資料,則不會發出指標。此外,如果是取用者延遲指標,則必須啟用該功能才能取得其指標。

如何獲得最佳效能

Spark 會嘗試在 Amazon Kinesis 串流中為每個碎片建立一個任務以進行讀取。每個碎片中的資料即成為一個分割區。然後,它會根據每個工作者的核心數量 (每個工作者的核心數量取決於您選擇的工作者類型,G.025XG.1X 等),將這些任務分配給執行器/工作者。然而,任務的分配方式並無法確定。所有任務都會在各自的核心上平行執行。如果碎片超過可用執行器核心的數量,則會將任務排入佇列。

您可以合併使用上述指標和碎片數量,以佈建執行器提供穩定的負載,為突發流量預留空間。建議您為任務執行幾次反覆運算,以判斷工作者的大致數目。對於不穩定/突然達到尖峰的工作負載,您可以設定自動調整功能和工作者數目上限來完成相同的操作。

根據windowSize您的業務SLA要求設置。舉例來說,如果您的業務要求處理過的資料過時時間不能超過 120 秒,則您應將 windowSize 設定為至少 60 秒,以確保平均取用者延遲不超過 120 秒 (請參閱上述「取用者延遲」一節)。從那裡取決於碎片的數量numRecords和數量,計劃DPUs確保您batchProcessingTimeInMswindowSize大部分時間小於 70% 的容量。

注意

熱碎片可能會導致資料扭曲,這表示有部分碎片/分割區比其他碎片大得多。這可能會導致某些平行執行的任務花費更長的時間,因而導致任務落後。因此,在前一批次的所有任務完成之前,無法開始下一批次,這將會使 batchProcessingTimeInMillis 和最大延遲受到影響。

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