我想使用 AWS Glue 監控 Spark 使用情況並最佳化成本。
解決方法
監控使用情況
若要取得 AWS Glue 作業中 Spark 使用成本的摘要,請使用 AWS Cost Explorer。
請完成下列步驟:
- 開啟 AWS Billing and Cost Management console (AWS 帳單與成本管理主控台)。
- 在導覽窗格中,選擇 Cost Explorer。
- 在 Cost (成本) 儀表板上,查看 AWS Glue 的每月成本。
依作業詳細資料查看使用情況
若要監控 AWS Glue 作業詳細資訊 (例如其執行狀態、執行持續時間或資料處理單元 (DPU) 使用情況),請完成下列步驟:
- 開啟 AWS Glue console (AWS Glue 主控台)。
- 在 ETL Jobs (ETL 作業) 下,選擇 Job run monitoring (作業執行監控)。
依作業類型查看成本
若要取得特定類型的 AWS Glue 作業成本,請完成下列步驟:
- 開啟 AWS Billing and Cost Management console (AWS 帳單與成本管理主控台)。
- 在 Cost and usage analysis (成本和使用情況分析) 下,選擇 Cost Explorer。
- 在 Report parameters (報表參數) 下的 Filters (篩選條件) 區段中,在 Service (服務),請選擇 Glue。
- 在 Usage type (使用類型) 下,選取您作業的篩選條件,並包含您的 AWS 區域:
如果是標準作業,請使用 ETL-DPU-Hour 篩選條件。例如,如果是美國西部 (奧勒岡) 區域,請套用 USW2-ETL-DPU-Hour。
如果是彈性作業,請使用 ETL-Flex-DPU-Hour 篩選條件。例如,套用 USW2-ETL-Flex-DPU-Hour。
如果是互動式工作階段,請使用 GlueInteractiveSession-DPU-Hour。例如,套用 USW2-GlueInteractiveSession-DPU-Hour。
取得特定作業的使用情況和成本
若要取得特定 AWS Glue 作業成本,請完成下列步驟:
- 開啟 AWS Glue console (AWS Glue 主控台)。
- 在 ETL Jobs (ETL 作業) 下,選擇 Job run monitoring (作業執行監控)。
- 找出您用於此作業的 DPU hours (DPU 小時數)。
- 在 AWS Glue pricing (AWS Glue 定價) 頁面的 ETL jobs and interactive sessions (ETL 作業和互動式工作階段) 索引標籤上,選取您的區域。
- 記下您作業類型中每個 DPU-HOUR 的成本。
- 若要計算成本,請將您的 DPU 小時數乘以每個 DPU-HOUR 的成本。
若要取得記憶體或 CPU 使用率或資料流量的 AWS Glue 作業指標,請設定 CloudWatch 警示。
若要取得有關 AWS Glue 作業的通知,請參閱如何在 AWS Glue 作業狀態變更時,收到 Amazon SNS 通知?
最佳化成本
若要最佳化 AWS Glue 作業中 Spark 的使用成本,請執行下列動作:
- 調整 AWS Glue 作業,以減少作業執行時間和所需的工作者數量。
- 如果是非關鍵 AWS Glue 作業,請將 AWS Glue 作業執行類型定義為 Flex。
- 為您的 AWS Glue 作業啟用自動擴展。
- 建立 AWS Glue 使用情況設定檔來限制工作者類型、限制最大作業者數量,並限制作業的執行時間。
- 為您的 Jobs API 設定適當的 AWS Glue 逾時,以便作業的執行時間不會超過預期的執行時間。
- 使用適當的工作者類型和工作者數量。
- 若要在本機環境中測試和開發,請使用 Docker 映像檔。AWS Glue Docker 使用的是本機運算資源,而不是 AWS Glue 雲端服務。
- 使用 AWS Glue 作業書籤功能逐步理資料。
- 使用 CloudWatch 指標來確定最佳 DPU 容量,並根據需要調整容量。
- 當不使用互動式工作階段時,請停止或刪除它們。使用 Jupyter magic %stop_session,或在 AWS Glue 主控台的 Interactive Session (互動式工作階段) 頁面上選擇 Stop session (停止工作階段)。您也可以使用 Stop Notebook (停止筆記本) 來終止工作階段。
**注意:**即使關閉瀏覽器索引標籤,工作階段仍然處於作用中狀態。
相關資訊
監控並最佳化 AWS Glue for Apache Spark 的成本