本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 管理 ETL 任務 AWS Glue Studio
您可以在 中使用簡單的圖形界面 AWS Glue Studio 來管理您的 ETL 任務。使用導覽功能表,選擇 Jobs (任務) 來檢視 Jobs (任務) 頁面。在此頁面上,您可以看到您使用 建立的所有任務 AWS Glue Studio 或 AWS Glue 主控台。您可以在此頁面上檢視、管理和執行您的任務。
開始任務執行
In (入) AWS Glue Studio,您可以隨需執行任務。任務可以執行多次,而且每次執行任務時,AWS Glue 收集有關任務活動和績效的資訊。這些資訊稱為任務執行,並由任務執行 ID 識別。
您可以在 中以下列方式啟動任務執行 AWS Glue Studio:
-
在 Jobs (任務) 頁面上,選擇您要開始的任務,然後選擇 Run job (執行任務) 按鈕。
-
如果您在視覺化編輯器中檢視任務,且任務已儲存,您可以選擇 Run (執行) 按鈕開始任務執行。
如需任務執行的詳細資訊,請參閱在 上使用任務 AWS GlueAWS Glue 開發人員指南中的主控台。
排程任務執行
In (入) AWS Glue Studio,您可以建立排程,讓任務在特定時間執行。您可以指定限制條件,例如任務的執行次數、在一週中的哪一天執行,以及執行的時間。這些限制條件是根據 cron
並且與 cron
具有相同限制。例如,如果您選擇在每個月的 31 日執行您的任務,請注意有些月份不到 31 天。如需 cron
的詳細資訊,請參閱 AWS Glue 開發人員指南中的 Cron 表達式。
根據排程執行任務
-
使用以下其中一個方法建立任務排程:
-
在 Jobs (任務) 頁面上,選擇您要建立排程的任務,選擇 Actions (動作),然後選擇 Schedule job (排程任務)。
-
如果您在視覺化編輯器中檢視任務,且任務已儲存,請選擇 Schedules (排程) 索引標籤。然後選擇 Create Schedule (建立排程)。
-
-
在 Schedule job run (排程任務執行) 頁面上,輸入下列資訊:
-
Name (名稱):輸入任務排程的名稱。
-
Frequency (頻率):輸入任務排程的頻率。您可以選擇下列選項:
-
Hourly (每小時):任務將每小時執行一次,從特定分鐘開始。您可以指定任務應執行的小時 Minute (分鐘) 數。依預設,如果您選擇每小時,任務會在小時開始執行 (分鐘 0)。
-
Daily (每日):任務將每天執行,從一個時間開始。您可以指定任務應執行的小時 Minute (分鐘) 數以及任務的 Start hour (起始小時)。小時數使用 23 小時制指定,您可以使用數字 13 到 23 表示下午的時間。分鐘和小時的預設值為 0,也就是說,如果您選取 Daily (每日),則任務預設在午夜執行。
-
Weekly (每週):任務將在每週的一天或多天執行。除了上述與「每日」相同的設定之外,您還可以選擇在一週的哪幾天執行任務。您可以選擇一或多個天。
-
Monthly (每月):任務將在每個月的特定日期執行。除了上述與「每日」相同的設定之外,您還可以選擇在一個月的哪一天執行任務。將日指定為 1 到 31 之間的數值。如果您選取了一個月中不存在的日期,例如二月 30 日,那麼該月不會執行任務。
-
Custom (自訂):使用
cron
語法為您的任務排程輸入表達式。Cron 表達式允許您建立更複雜的排程,例如每月的最後一天 (而不是每月的特定日期) 或是每三個月的第 7 天和第 21 天。請參閱 AWS Glue 開發人員指南中的 Cron 表達式
-
-
Description (描述):您可以選擇性地輸入您的任務排程的說明。如果您計劃針對多個任務使用相同的排程,具有描述可讓您更容易判斷任務排程的作用。
-
-
選擇 Create schedule (建立排程) 以儲存任務排程。
-
建立排程後,成功訊息會出現在主控台頁面頂端。您可以選擇此橫幅中的 Job Details (任務詳細資訊) 以檢視任務詳細資訊。這會開啟視覺化任務編輯器頁面,其中選取了 Schedules (排程) 索引標籤。
管理任務排程
建立任務的排程後,您可以在視覺化編輯器中開啟任務,然後選擇 Schedules (排程) 索引標籤來管理排程。
在視覺化編輯器的 Schedules (排程) 索引標籤,您可以執行以下任務:
-
建立新排程。
選擇 Create schedule (建立排程),然後輸入排程的資訊,如排程任務執行所述。
-
編輯現有排程。
選擇您要編輯的排程,然後選擇 Action (動作),接著選擇 Edit schedule (編輯排程)。當您選擇編輯現有的排程時,Frequency (頻率) 顯示為 Custom (自訂),且排程會顯示為
cron
表達式。您可以修改cron
表達式,或使用 Frequency (頻率) 按鈕指定新排程。當您完成變更後,請選擇 Update schedule (更新排程)。 -
暫停作用中的排程。
選擇作用中排程,然後選擇 Actions (動作),接著選擇 Pause schedule (暫停排程)。排程會立即停用。選擇重新整理 (重新載入) 按鈕,以查看更新的任務排程狀態。
-
繼續暫停的排程。
選擇停用的排程,然後選擇 Actions (動作),接著選擇 Resume schedule (繼續排程)。排程會立即啟動。選擇重新整理 (重新載入) 按鈕,以查看更新的任務排程狀態。
-
刪除排程。
選擇您要移除的排程,然後選擇 Actions (動作),接著選擇 Delete schedule (刪除排程)。排程會立即刪除。選擇重新整理 (重新載入) 按鈕,以查看更新的任務排程清單。排程會顯示 Deleting (正在刪除) 狀態,直到它被完全移除。
停止任務執行
您可以在任務完成任務執行之前停止任務。如果您知道任務設定不正確,或任務花太長時間無法完成,您可以選擇此選項。
在 Monitoring (監控) 頁面的 Job runs (任務執行) 清單中,選擇您要停止的任務,選擇 Actions (動作),接著選擇 Stop run (停止執行)。
檢視您的任務
您可以在 Jobs (任務) 頁面上檢視您所有的任務。若要存取此頁面,請選擇導覽窗格中的 Jobs (任務)。
在 Jobs (任務) 頁面上,您可以看到在帳戶中建立的所有任務。Your jobs (您的任務) 清單會顯示任務名稱、其類型、該任務上次執行的狀態,以及建立任務和上次修改的日期。您可以選擇任務的名稱,以查看該任務的詳細資訊。
您也可以使用監控儀表板來檢視您的所有任務。若要存取儀表板,請選擇導覽窗格中的 Monitoring (監控)。
自訂任務顯示
您可以在 Jobs (任務) 頁面的 Your jobs (您的任務) 區段自訂任務的顯示方式。此外,您可以在搜尋文字欄位中輸入文字,以僅顯示名稱包含該文字的任務。
如果您在任務區段 中選擇設定圖示,您可以自訂 AWS Glue Studio 會顯示資料表中的資訊。您可以選擇在顯示中將文字行換行、變更頁面上顯示的任務數目,以及指定要顯示的欄。
檢視最近任務執行的資訊
任務可以隨著來源位置新增資料而執行多次。每次任務執行,都會為任務執行指派一個唯一的 ID,並收集有關該任務執行的資訊。您可以使用下列方法,檢視此資訊:
-
選擇視覺化編輯器的 Runs (執行) 索引標籤,以檢視目前顯示任務的任務執行資訊。
在 Runs (執行) 索引標籤 (Recent job runs (最近任務執行) 頁面),每個任務執行都會有一張卡片。Runs (執行) 索引標籤顯示的資訊包含:
-
任務執行 ID
-
嘗試執行此任務的次數
-
任務執行的狀態
-
任務執行的開始及結束時間
-
任務執行的執行時間
-
任務日誌檔的連結
-
任務錯誤日誌檔的連結
-
失敗任務傳回的錯誤
-
您可以選取工作執行,以檢視有關該工作的其他資訊,包括以下內容:
輸入引數
連續日誌
指標:您可以查看基本指標的視覺效果。如需有關包含之指標的詳細資訊,請參閱 Amazon CloudWatch 檢視 Spark 工作執行的指標。
Spark UI – 您可以在 Spark UI 中將工作的 Spark 日誌視覺化。如需有關使用 Spark Web UI 的詳細資訊,請參閱 使用 Apache Spark web UI 監控任務。必須依照 為 AWS Glue 任務啟用 Apache Spark web UI 中的程序來啟用此功能。
您可以選取檢視詳細資料,以在任務執行詳細資料頁面中檢視類似的資訊。或者,您也可以透過監控頁面,導覽至任務執行詳細資料頁面。在導覽窗格中,選擇 Monitoring (監控)。向下捲動到 Job runs (任務執行) 清單。選擇任務,然後選擇 View run details (檢視執行詳細資訊)。內容在檢視任務執行的詳細資訊中描述。
如需任務日誌的詳細資訊,請參閱檢視任務執行日誌。
檢視任務指令碼
在您提供任務中所有節點的資訊之後,AWS Glue Studio 會產生指令碼,由任務用來從來源讀取資料、轉換資料,以及將資料寫入目標位置。如果您儲存任務,您可以隨時檢視此指令碼。
檢視為任務產生的指令碼
-
在導覽窗格中,選擇 Jobs (任務)。
-
在 Jobs (任務) 頁面的 Your jobs (您的任務) 清單中,選擇要檢閱的任務名稱。或者,您可以在清單中選擇一個任務,選擇 Actions (動作) 功能表,然後選擇 Edit job (編輯任務)。
-
在視覺化編輯器頁面上,選擇頂端的 Script (指令碼) 索引標籤以檢視任務指令碼。
如果想要編輯任務指令碼,請參閱AWS Glue 程式設計指南。
修改任務屬性
任務圖表中的節點定義了任務所執行的動作,但您也可以為任務設定幾個屬性。這些屬性會決定執行任務的環境、其使用的資源、閾值設定、安全性設定等。
自訂任務執行環境
-
在導覽窗格中,選擇 Jobs (任務)。
-
在 Jobs (任務) 頁面的 Your jobs (您的任務) 清單中,選擇要檢閱的任務名稱。
-
在視覺化編輯器頁面上,選擇任務編輯窗格頂端的 Job Details (任務詳細資訊)。
-
視需要修改任務屬性。
如需任務屬性的詳細資訊,請參閱 AWS Glue 開發人員指南中的定義任務屬性。
-
如果您需要指定下列額外任務屬性,請展開 Advanced properties (進階屬性) 區段:
-
Script filename (指令碼檔案名稱) – 在 Amazon S3 中儲存任務指令碼的檔案名稱。
-
Script path (指令碼路徑) – 儲存任務指令碼的 Amazon S3 位置。
-
任務指標 – (不適用於 Python shell 任務) 在此任務執行時開啟建立 Amazon CloudWatch 指標。
-
持續記錄 – (不適用於 Python shell 任務) 開啟連續記錄 to CloudWatch,以便在任務完成之前檢視日誌。
-
Spark UI 和 Spark UI logs path (Spark UI 日誌路徑) – (不適用於 Python Shell 任務) 開啟使用 Spark UI 來監控此任務,並指定 Spark UI 日誌的位置。
-
Maximum concurrency (最大並行數量) – 設定此任務允許並行執行的最大數量。
-
暫時路徑 – Amazon S3 中工作目錄的位置,其中臨時中繼結果會在 AWS Glue 會執行任務指令碼。
-
Delay notification threshold (minutes) (延遲通知閾值 (分鐘)) – 為任務指定延遲閾值。如果任務執行的時間比閾值指定的時間更長,則 AWS Glue 會傳送任務 to CloudWatch 的延遲通知。
-
Security configuration (安全組態) 和 Server-side encryption (伺服器端加密) – 使用這些欄位來選擇任務的加密選項。
-
使用 Glue Data Catalog 作為 Hive 中繼存放區 – 如果您想要使用 AWS Glue Data Catalog 作為 Apache Hive Metastore 的替代方案。
-
其他網路連線 – 對於 VPC 中的資料來源,您可以指定 類型的連線
Network
,以確保任務透過 VPC 存取您的資料。 -
Python library path (Python 程式庫路徑)、Dependent jars path (相依 jar 路徑) (不適用於 Python Shell 任務),或 Referenced files path (參考檔案路徑) – 使用這些欄位來指定任務執行指令碼時所使用的其他檔案位置。
-
Job Parameters (任務參數) – 您可新增一組索引鍵/值對,以具名參數的形式傳遞至任務指令碼。在 Python AWS Glue API呼叫 時,最好依名稱明確傳遞參數。如需在任務指令碼中使用參數的詳細資訊,請參閱中的傳遞和存取 Python 參數 AWS Glue (在 AWS Glue 開發人員指南中)。
-
Tags (標籤) – 您可以在任務中新增標籤,協助您整理和識別它們。
-
-
修改任務屬性之後,請儲存任務。
在 Amazon S3 上儲存 Spark 隨機播放檔案
某些 ETL 任務需要讀取和合併來自多個分割區的資訊,例如在使用聯結轉換時。這項作業稱為隨機播放。在隨機播放期間,資料會寫入磁碟並透過網路傳輸。使用 AWS Glue 3.0 版,您可以將 Amazon S3 設定為這些檔案的儲存位置。AWS Glue 提供隨機切換管理器,可寫入和讀取 Amazon S3 的隨機切換檔案。相較於本機磁碟 (或針對 Amazon EBS 大幅最佳化的 Amazon Word),從 Amazon S3 寫入和讀取隨機播放檔案的速度較慢 (5%-20%)EC2。不過,Amazon S3 提供無限儲存容量,因此在執行任務時無須擔心「No space left on device
」錯誤。
將您的任務設定為使用 Amazon S3 進行隨機播放檔案
-
在 Jobs (任務) 頁面的 Your jobs (您的任務) 清單中,選擇要修改的任務名稱。
-
在視覺化編輯器頁面上,選擇任務編輯窗格頂端的 Job Details (任務詳細資訊)。
向下捲動到 Job Parameters (任務參數) 區段。
-
指定下列索引鍵/值組。
-
--write-shuffle-files-to-s3
—true
這是在 中設定隨機分組管理員的主要參數 AWS Glue 使用 Amazon S3 儲存貯體來寫入和讀取隨機資料。此參數的預設值為
false
。 -
(選用)
--write-shuffle-spills-to-s3
—true
此參數可讓您將溢出檔案卸載至 Amazon S3 儲存貯體,為 中的 Spark 任務提供額外的彈性 AWS Glue。 只有將大量資料溢灑到磁碟的大型工作負載才需要這樣做。此參數的預設值為
false
。 -
(選用)
--conf spark.shuffle.glue.s3ShuffleBucket
—S3://<
shuffle-bucket
>此參數指定寫入隨機檔案時要使用的 Amazon S3 儲存貯體。如果您未設定此參數,則位置是為 Temporary path (暫存路徑) 指定之位置中的
shuffle-data
資料夾 (--TempDir
)。注意
確定隨機儲存貯體的位置與任務執行 AWS 區域 所在的位置相同。
此外,隨機播放服務不會在任務執行完畢後清除檔案,因此您應該在隨機儲存貯體位置上設定 Amazon S3 儲存生命週期政策。如需詳細資訊,請參閱 Amazon S3 使用者指南中的管理儲存生命週期。
-
儲存任務
紅色的 Job has not been saved (尚未儲存任務) 標註會顯示在 Save (儲存) 按鈕左側,直到您儲存任務為止。
儲存任務
-
Visual (視覺效果) 和 Job Details (任務詳細資訊) 索引標籤中提供所有必要的資訊。
-
選擇 Save (儲存) 按鈕。
儲存任務後,「未儲存」標註會變更為顯示上次儲存任務的時間和日期。
如果您結束 AWS Glue Studio 儲存任務之前,下次登入 時 AWS Glue Studio,則會顯示通知。通知會指出有未儲存的任務,並詢問您是否要還原它。如果您選擇還原任務,您可以繼續編輯任務。
故障診斷儲存任務時發生的錯誤
如果選擇 Save (儲存) 按鈕,但是您的任務遺失了一些必要資訊,則會在遺失資訊的索引標籤上出現紅色標註。標註中的數字表示偵測到的遺失欄位數目。
-
如果視覺化編輯器中的節點未正確設定,Visual (視覺效果) 索引標籤會顯示紅色標註,並且出現錯誤的節點顯示警告符號 。
-
選擇節點。在節點詳細資訊面板中,紅色標註會出現在遺失或不正確資訊所在的索引標籤上。
-
在節點詳細資訊面板中選擇顯示紅色標註的索引標籤,然後找到反白顯示的問題欄位。欄位下方的錯誤訊息會提供問題的其他資訊。
-
-
如果任務屬性發生問題,Job Details (任務詳細資訊) 索引標籤會顯示紅色標註。選擇該標簽并确定問題欄位,這些欄位會突出顯示。欄位下方的錯誤訊息提供問題的其他資訊。
複製任務
您可以使用複製任務動作,將現有任務複製到新任務中。
透過複製現有任務建立新任務
-
在 Jobs (任務) 頁面的 Your jobs (您的任務) 清單中,選擇要複製的任務。
-
從 Actions (動作) 功能表,選擇 Clone job (複製任務)。
-
輸入新任務的名稱。然後您可以儲存或編輯任務。
刪除任務
您可以移除不再需要的任務。您可以在單一作業中刪除一或多個任務。
若要從 移除任務 AWS Glue Studio
-
在 Jobs (任務) 頁面的 Your jobs (您的任務) 清單中,選擇要刪除的任務。
在 Actions (動作) 選單中,選擇 Delete job (刪除任務)。
確認您要刪除任務,方法是輸入
delete
。
您也可以在檢視視覺化編輯器中任務的 Job Details (任務詳細資訊) 索引標籤時刪除儲存的任務。