本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
當您在 AWS Glue 主控台上定義任務時,您可以為屬性提供值,以控制 AWS Glue 執行時間環境。
定義 Spark 任務的任務屬性
以下清單說明 Spark 任務的屬性。如需了解 Python shell 任務的屬性,請參閱 為 Python shell 任務定義任務屬性。如需了解串流 ETL 任務的屬性,請參閱 定義串流 ETL 任務的任務屬性。
這些屬性會依在 AWS Glue 主控台上新增任務精靈上顯示的順序列出。
- 名稱
-
提供長度上限為 255 個字元的 UTF-8 字串。
- 描述
-
提供最多 2048 個字元的選用描述。
- IAM 角色
-
指定 IAM 角色以授權使用執行工作和存取資料存放區所需的資源。如需在 中執行任務之許可的詳細資訊 AWS Glue,請參閱 Glue AWS 的身分和存取管理。
- Type
-
ETL 任務的類型。這是根據您選取的資料來源類型自動設定。
-
Spark 使用任務命令 執行 Apache Spark ETL 指令碼
glueetl
。 -
Spark 串流會使用任務命令 執行 Apache Spark 串流 ETL 指令碼
gluestreaming
。如需詳細資訊,請參閱在 AWS Glue 中串流 ETL 任務。 -
Python shell 會使用任務命令 執行 Python 指令碼
pythonshell
。如需詳細資訊,請參閱在 中設定 Python shell 任務的任務屬性 AWS Glue。
-
- AWS Glue 版本
-
AWS Glue 版本 會決定任務可用的 Apache Spark 和 Python 版本,如下表所述。
AWS Glue 版本 支援的 Spark 和 Python 版本 5.0 -
Spark 3.5.4
-
Python 3.11
4.0 -
Spark 3.3.0
-
Python 3.10
3.0 -
Spark 3.1.1
-
Python 3.7
-
- 語言
-
ETL 指令碼中的程式碼定義了任務的邏輯。指令碼可在 Python 或 Scala 中編寫。您可以選擇任務執行的指令碼是由 產生 AWS Glue 或由您提供。您可以在 Amazon Simple Storage Service (Amazon S3) 中提供指令碼名稱和位置。請確認路徑中沒有跟指令碼目錄名稱相同的檔案。若要進一步了解如何編寫指令碼,請參閱 AWS Glue 程式設計指南。
- 工作者類型
-
可使用以下工作者類型:
AWS Glue 工作者可用的資源是以 DPUs測量。DPU 是相對的處理能力,包含 4 個 vCPU 的運算容量和 16 GB 的記憶體。
-
G.1X
– 選擇這種類型時,您也要提供 工作者數目 的值。每個工作者映射到 1 個 DPU (4 個 vCPUs,16 GB 記憶體) 與 94GB 磁碟。我們建議將此工作者類型用於資料轉換、聯結和查詢等工作負載,以提供可擴展且符合成本效益的方式來執行大部分任務。 -
G.2X
– 選擇這種類型時,您也要提供 工作者數目 的值。每個工作者都會映射到 2 個 DPU (8 個 vCPUs,32 GB 記憶體) 和 138GB 磁碟。我們建議將此工作者類型用於資料轉換、聯結和查詢等工作負載,以提供可擴展且符合成本效益的方式來執行大部分任務。 -
G.4X
– 選擇這種類型時,您也要提供 工作者數目 的值。每個工作者都會映射到 4 個 DPU (16 個 vCPU、64 GB 記憶體),外加 256 GB 磁碟 (大約 235 GB 可用)。我們建議工作負載包含最嚴苛轉換、彙總、聯結和查詢的任務採用這種工作者類型。此工作者類型僅適用於下列 AWS 區域中的 3.0 AWS Glue 版或更新版本 Spark ETL 任務:美國東部 (俄亥俄)、美國東部 (維吉尼亞北部)、美國西部 (奧勒岡)、亞太區域 (新加坡)、亞太區域 (雪梨)、亞太區域 (東京)、加拿大 (中部)、歐洲 (法蘭克福)、歐洲 (愛爾蘭) 和歐洲 (斯德哥爾摩)。 -
G.8X
– 選擇這種類型時,您也要提供 工作者數目 的值。每個工作者都會映射到 8 個 DPU (32 個 vCPU、128 GB 記憶體),外加 512 GB 磁碟 (大約 487 GB 可用)。我們建議工作負載包含最嚴苛轉換、彙總、聯結和查詢的任務採用這種工作者類型。此工作者類型僅適用於 3.0 AWS Glue 版或更新版本的 Spark ETL 任務,其位於與G.4X
工作者類型支援的相同 AWS 區域中。 -
G.025X
– 選擇這種類型時,您也要提供 工作者數目 的值。每個工作者都會映射到 0.25 個 DPU (2 個 vCPU、4 GB 記憶體),外加 84 GB 磁碟 (大約 34 GB 可用)。我們建議低容量串流任務採用這種工作者類型。此工作者類型僅適用於 3.0 AWS Glue 版或更新版本的串流任務。
我們會根據您執行 ETL 任務所使用的 DPU 數量,以小時費率計費。如需詳細資訊,請參閱 AWS Glue 定價頁面
。 對於 1.0 AWS Glue 版或更早版本的任務,當您使用主控台設定任務並指定標準工作者類型時,會設定最大容量,且工作者數量會變成最大容量 - 1 的值。如果您使用 AWS Command Line Interface (AWS CLI) 或 AWS SDK,您可以指定最大容量參數,也可以同時指定工作者類型和工作者數量。
對於 2.0 AWS Glue 版或更新版本的任務,您無法指定最大容量。反之,您必須指定 Worker type (工作者類型) 與 Number of workers (工作者數目)。
-
- 請求的工作者數量
-
對於大多數工作者類型,您必須指定任務時執行所分配的工作者數目。
- 任務書籤
-
指定任務執行時 AWS Glue 處理狀態資訊的方式。您可以讓任務書籤記住之前處理過的資料、更新狀態資訊,或是忽略狀態資訊。如需詳細資訊,請參閱使用任務書籤追蹤處理的資料。
- 任務執行佇列
-
指定任務執行是否在由於服務配額而無法立即執行時排入佇列,以便稍後執行。
勾選時,任務執行佇列會針對任務執行啟用。如果未填入,將不會考慮將任務執行排入佇列。
如果此設定不符合任務執行中設定的值,則會使用任務執行欄位中的值。
- Flex 執行
-
當您使用 AWS Studio 或 API 設定任務時,您可以指定標準或彈性任務執行類別。您的任務可能具有不同程度的優先順序和時間敏感度。標準執行類別非常適合需要快速的任務啟動和專用資源的時間敏感型工作負載。
彈性執行類別適用於非緊急任務,例如生產前任務、測試和一次性資料載入。使用 3.0 AWS Glue 版或更新版本和
G.1X
或G.2X
工作者類型的任務支援彈性任務執行。彈性任務執行基於在任何時間點執行的工作者數目計費。針對執行中的彈性任務執行,可新增或移除工作者數目。計費方式不是簡單的
Max Capacity
*Execution Time
,每個工作者都會計入任務執行期間的時間。計費為 (Number of DPUs per worker
*time each worker ran
) 的總和。 - 重試次數
-
指定 0 到 10 之間的次數,如果任務失敗, AWS Glue 應自動重新啟動任務。達到逾時限制的任務不會重新啟動。
- 任務逾時
-
設定執行時間上限 (單位為分鐘)。上限為 7 天或 10,080 分鐘。否則,任務會擲回例外狀況。
當值保留空白時,逾時預設為 2880 分鐘。
逾時值大於 7 天的任何現有 AWS Glue 任務將預設為 7 天。例如,如果您為批次任務指定了 20 天的逾時,則會在第 7 天停止。
任務逾時的最佳實務
任務會根據執行時間計費。為了避免意外費用,請設定適合您工作預期執行時間的逾時值。
- 進階屬性
-
- 指令碼檔案名稱
-
任務的唯一指令碼名稱。無法命名為無標題任務。
- 指令碼路徑
-
指令碼的 Amazon S3 位置。該路徑的格式必須是
s3://bucket/prefix/path/
。它必須以斜線 (/
) 結尾,且不包含任何檔案。 - 任務指標
-
當此任務執行時,開啟或關閉建立 Amazon CloudWatch 指標。若要檢視分析資料,您必須啟用此選項。如需如何開啟和視覺化呈現指標的詳細資訊,請參閱任務監控與偵錯。
- 任務可觀測性指標
-
在此任務執行時,開啟建立其他可觀測性 CloudWatch 指標。如需詳細資訊,請參閱使用 AWS Glue 可觀測性指標進行監控。
- 連續記錄
-
開啟連續記錄到 Amazon CloudWatch。如果未啟用此選項,則只有在任務完成後才能使用日誌。如需詳細資訊,請參閱 持續記錄 AWS Glue 任務。
- Spark UI
-
啟用 Spark UI 來監控此任務。如需詳細資訊,請參閱為 AWS Glue 任務啟用 Apache Spark web UI。
- Spark UI 日誌路徑
-
啟用 Spark UI 時寫入日誌的路徑。
- Spark UI 記錄和監控組態
-
請選擇下列其中一個選項:
標準:使用 AWS Glue 任務執行 ID 做為檔案名稱寫入日誌。在 AWS Glue 主控台中開啟 Spark UI 監控。
舊版:使用 'spark-application-{timestamp}' 作為檔案名稱來寫入日誌。請勿開啟 Spark UI 監控。
標準和舊版:將日誌寫入標準和舊版位置。在 AWS Glue 主控台中開啟 Spark UI 監控。
- 最大並行數量
-
設定此任務允許並行執行的最大數量。預設為 1。達到此閾值時,會傳回錯誤。可指定的最大值由服務限制來控制。例如,新的執行個體啟動時,如果有先前的任務仍在執行,您可能會想要傳回錯誤,以防相同任務的兩個執行個體同時執行。
- 暫時路徑
-
提供 Amazon S3 中工作目錄的位置,在 AWS Glue 執行指令碼時寫入暫時中繼結果。請確認路徑中沒有跟暫時目錄名稱相同的檔案。當 AWS Glue 讀取和寫入 Amazon Redshift 和特定 AWS Glue 轉換時,會使用此目錄。
注意
AWS Glue 如果儲存貯體尚未存在於區域中, 會為任務建立臨時儲存貯體。此儲存貯體可能允許公開存取。您可以修改 Amazon S3 中的儲存貯體以設定的公有存取封鎖,或稍後在該區域的所有任務完成後刪除儲存貯體。
- 延遲通知閾值 (分鐘)
-
設定傳送延遲通知之前所要經過的時間閾值 (以分鐘為單位)。您可以設定這個閾值,以在
RUNNING
、STARTING
或STOPPING
任務執行所花的時間超過預期分鐘數時傳送通知。 - 安全組態
-
從清單中選擇安全組態。安全設定指定在 Amazon S3 目標上如何加密資料:不加密、使用 AWS KMS受管金鑰 (SSE-KMS) 或 Amazon S3 管理的加密金鑰 (SSE-S3) 進行伺服器端加密。
- 伺服器端加密
-
如果您選擇此選項,則 ETL 任務寫入 Amazon S3 時,資料會在靜態時加密 (使用 SSE-S3 加密)。您的 Amazon S3 資料目標和寫入 Amazon S3 暫時目錄的任何資料都會加密。系統會以任務參數的形式傳遞此選項。如需詳細資訊,請參閱 Amazon Simple Storage Service 使用者指南中的透過 Amazon S3 受管加密金鑰 (SSE-S3) 使用伺服器端加密來保護資料。
重要
如果指定安全組態,則會忽略此選項。
- 使用 Glue 資料目錄做為 Hive 中繼存放區
-
選取 以使用 AWS Glue Data Catalog 做為 Hive 中繼存放區。此任務所用的 IAM 角色必須具有
glue:CreateDatabase
許可。稱為「預設」的資料庫隨即在 Data Catalog 中建立 (如當時該資料庫尚未存在)。
- 連線
-
選擇 VPC 組態以存取位於虛擬私有雲端 (VPC) 中的 Amazon S3 資料來源。您可以在 中建立和管理網路連線 AWS Glue。如需詳細資訊,請參閱連線至資料。
- Libraries (程式庫)
-
- Python 程式庫路徑、相依 JARs 路徑和參考檔案路徑
-
如果您的指令碼需要這些選項,請進行指定。定義此任務時,您可以為這些選項定義以逗號分隔的 Amazon S3 路徑。執行任務時,您可以覆寫這些路徑。如需詳細資訊,請參閱提供您的自訂指令碼。
- 任務參數
-
一組金鑰/值對,會以具名參數的形式傳遞至指令碼。這些是指令碼執行時使用的預設值,但您可以在觸發時或在執行任務階段覆寫。您必須在索引鍵名稱前加上
--
;例如:--myKey
。使用 時,您可以將任務參數做為映射傳遞 AWS Command Line Interface。如需範例,請參閱 在 AWS Glue 中傳遞和存取 Python 參數 的 Python 參數。
- 標籤
-
使用 Tag key (標籤金鑰) 和選用的 Tag value (標籤值),標記您的任務。標籤鍵在建立後,將是唯讀狀態。應用標籤至某些資源,有助於您對其進行整理和識別。如需詳細資訊,請參閱AWS 中的標籤 AWS Glue。
存取 Lake Formation 受管資料表任務的限制
建立讀取或寫入由 管理之資料表的任務時,請記住下列注意事項和限制 AWS Lake Formation:
-
使用儲存格層級篩選條件存取資料表的任務不支援下列功能: