本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以使用 AWS Glue Studio 中的簡單圖形介面來管理您的 ETL 任務。使用導覽功能表,選擇 Jobs (任務) 來檢視 Jobs (任務) 頁面。在此頁面上,您可以查看您使用 AWS Glue Studio 或 AWS Glue 主控台建立的所有任務。您可以在此頁面上檢視、管理和執行您的任務。
開始任務執行
在 AWS Glue Studio 中,您可以隨需執行任務。一個任務可以執行多次,每次執行該任務時,AWS Glue 都會收集有關任務活動和效能的資訊。這些資訊稱為任務執行,並由任務執行 ID 識別。
您可以透過下列方式在 AWS Glue Studio 啟動任務執行:
-
在 Jobs (任務) 頁面上,選擇您要開始的任務,然後選擇 Run job (執行任務) 按鈕。
-
如果您在視覺化編輯器中檢視任務,且任務已儲存,您可以選擇 Run (執行) 按鈕開始任務執行。
如需任務執行的詳細資訊,請參閱 AWS Glue 開發人員指南中的在 AWS Glue 主控台上使用工作。
排程任務執行
在 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 (您的任務) 區段自訂任務的顯示方式。此外,您可以在搜尋文字欄位中輸入文字,以僅顯示名稱包含該文字的任務。
如果您選擇 Your jobs (您的任務) 區段中的設定圖示
,您可以自訂 AWS Glue Studio 在資料表中顯示資訊的方式。您可以選擇在顯示中將文字行換行、變更頁面上顯示的任務數目,以及指定要顯示的欄。
檢視最近任務執行的資訊
任務可以隨著來源位置新增資料而執行多次。每次任務執行,都會為任務執行指派一個唯一的 ID,並收集有關該任務執行的資訊。您可以使用下列方法,檢視此資訊:
-
選擇視覺化編輯器的 Runs (執行) 索引標籤,以檢視目前顯示任務的任務執行資訊。
在 Runs (執行) 索引標籤 (Recent job runs (最近任務執行) 頁面),每個任務執行都會有一張卡片。Runs (執行) 索引標籤顯示的資訊包含:
-
任務執行 ID
-
嘗試執行此任務的次數
-
任務執行的狀態
-
任務執行的開始及結束時間
-
任務執行的執行時間
-
任務日誌檔的連結
-
任務錯誤日誌檔的連結
-
失敗任務傳回的錯誤
-
您可以選取工作執行,以檢視有關該工作的其他資訊,包括以下內容:
輸入引數
連續日誌
指標:您可以查看基本指標的視覺效果。如需有關包含之指標的詳細資訊,請參閱 檢視 Spark 任務執行的 Amazon CloudWatch 指標。
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 指標的建立。
-
Continuous logging (連續記錄) – (不適用於 Python Shell 任務) 開啟連續記錄至 CloudWatch,以便在任務完成之前可以檢視記錄。
-
Spark UI 和 Spark UI logs path (Spark UI 日誌路徑) – (不適用於 Python Shell 任務) 開啟使用 Spark UI 來監控此任務,並指定 Spark UI 日誌的位置。
-
Maximum concurrency (最大並行數量) – 設定此任務允許並行執行的最大數量。
-
Temporary path (暫存路徑) – 提供 Amazon S3 裡的工作目錄位置,可在 AWS Glue 執行任務指令碼時寫入暫時的中繼結果。
-
Delay notification threshold (minutes) (延遲通知閾值 (分鐘)) – 為任務指定延遲閾值。如果任務執行的時間超過閾值所指定的時間,AWS Glue 會將任務的延遲通知傳送至 CloudWatch。
-
Security configuration (安全組態) 和 Server-side encryption (伺服器端加密) – 使用這些欄位來選擇任務的加密選項。
-
Use Glue Data Catalog as the Hive metastore (使用 Glue Data Catalog 做為 Hive 中繼存放區) – 如果您想要使用 AWS Glue Data Catalog 作為 Apache Hive 中繼存放區的替代選項,請選擇此選項。
-
Additional network connection (額外的網路連線) – 對於 VPC 中的資料來源,您可以指定
Network
連線類型,以確保您的任務透過 VPC 存取您的資料。 -
Python library path (Python 程式庫路徑)、Dependent jars path (相依 jar 路徑) (不適用於 Python Shell 任務),或 Referenced files path (參考檔案路徑) – 使用這些欄位來指定任務執行指令碼時所使用的其他檔案位置。
-
Job Parameters (任務參數) – 您可新增一組索引鍵/值對,以具名參數的形式傳遞至任務指令碼。在 Python AWS Glue API呼叫 時,最好依名稱明確傳遞參數。如需在任務指令碼中使用參數的詳細資訊,請參閱 AWS Glue 開發人員指南中的在 AWS Glue 中傳遞和存取 Python 參數。
-
Tags (標籤) – 您可以在任務中新增標籤,協助您整理和識別它們。
-
-
修改任務屬性之後,請儲存任務。
在 Amazon S3 上儲存 Spark 隨機播放檔案
某些 ETL 任務需要讀取和合併來自多個分割區的資訊,例如,使用聯結轉換時。這項作業稱為隨機播放。在隨機播放期間,資料會寫入磁碟並透過網路傳輸。使用 AWS Glue 3.0 版,您可以將 Amazon S3 設定為這些檔案的儲存位置。AWS Glue 提供隨機播放管理器,可在 Amazon S3 之間寫入和讀取隨機檔案。與本機磁碟 (或針對 Amazon EC2 進行大量最佳化的 Amazon EBS) 相比,從 Amazon S3 寫入和讀取隨機檔案的速度較慢 (5%-20%)。不過,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 儲存貯體,這為 AWS Glue 中的 Spark 任務提供額外的彈性。只有將大量資料溢出到磁碟的大型工作負載才需要它。此參數的預設值為
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 (儲存) 按鈕,但是您的任務遺失了一些必要資訊,則會在遺失資訊的索引標籤上出現紅色標註。標註中的數字表示偵測到的遺失欄位數目。
![顯示名為「Untitled job (未命名任務)」之任務的視覺化編輯器窗格索引標籤的螢幕擷取畫面,在 [Visual (視覺效果)] 索引標籤上標註 2,以及 [Job Details (任務詳細資訊)] 索引標籤上標註 1。](images/screenshot-save-job-error-in-graph-GA2.png)
-
如果視覺化編輯器中的節點未正確設定,Visual (視覺效果) 索引標籤會顯示紅色標註,並且出現錯誤的節點顯示警告符號
。
-
選擇節點。在節點詳細資訊面板中,紅色標註會出現在遺失或不正確資訊所在的索引標籤上。
-
在節點詳細資訊面板中選擇顯示紅色標註的索引標籤,然後找到反白顯示的問題欄位。欄位下方的錯誤訊息會提供問題的其他資訊。
-
-
如果任務屬性發生問題,Job Details (任務詳細資訊) 索引標籤會顯示紅色標註。選擇該標簽并确定問題欄位,這些欄位會突出顯示。欄位下方的錯誤訊息提供問題的其他資訊。
複製任務
您可以使用複製任務動作,將現有任務複製到新任務中。
透過複製現有任務建立新任務
-
在 Jobs (任務) 頁面的 Your jobs (您的任務) 清單中,選擇要複製的任務。
-
從 Actions (動作) 功能表,選擇 Clone job (複製任務)。
-
輸入新任務的名稱。然後您可以儲存或編輯任務。
刪除任務
您可以移除不再需要的任務。您可以在單一作業中刪除一或多個任務。
從 AWS Glue Studio 中移除任務
-
在 Jobs (任務) 頁面的 Your jobs (您的任務) 清單中,選擇要刪除的任務。
在 Actions (動作) 選單中,選擇 Delete job (刪除任務)。
確認您要刪除任務,方法是輸入
delete
。
您也可以在檢視視覺化編輯器中任務的 Job Details (任務詳細資訊) 索引標籤時刪除儲存的任務。