控制容量用量 - Amazon Athena

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

控制容量用量

您可以設定最大或最小 DPU 控制項,以控制 Athena 配置給查詢的 DPU 數量。您可以在工作群組層級設定這些項目,以為所有查詢建立基準控制,或在個別查詢層級建立精細控制。這可讓您直接控制查詢效能、工作負載並行和成本。

  • 當您設定最大數量的 DPU 時,會防止查詢消耗超過您指定的容量。這可讓您輕鬆地控制成本和工作負載並行。例如,如果您的容量保留有 200 個 DPU,將每個查詢的 DPU 上限設定為 8 可讓您同時執行 25 個查詢。如果您將保留增加到 400 個 DPU,您可以同時執行 50 個查詢。

  • 當您設定最低數量的 DPU 時,您可以確保以所需的最低數量的 DPU 執行查詢。當您事先了解查詢的一般容量用量描述檔時,這會很有幫助。

注意

DPU 用量控制僅適用於使用容量保留執行的查詢。

注意

若要對所有查詢使用相同數量的 DPU,請針對最小和最大 DPU 使用相同的值。

在工作群組層級設定 DPU 控制項

在工作群組層級設定 DPU 控制,以管理成本和控制您選擇的工作群組的工作負載效能。啟用覆寫用戶端設定時,工作群組層級設定的 DPU 控制項會套用至所有查詢。

使用主控台設定 DPU 控制項
  1. 前往 https://console.aws.amazon.com/athena/ 開啟 Athena 主控台。

  2. 在導覽窗格中,選擇 Workgroups (工作群組)。

  3. 選取使用容量保留的工作群組。

  4. 執行控制項索引標籤上,選擇編輯控制項

  5. 設定下列項目:

    • 對於每個查詢的最小 DPU,以 4 為增量,輸入介於 4 到 124 之間的值。

    • 針對每個查詢的最大 DPU,以 4 為增量,輸入介於 4 到 124 之間的值。

  6. 選擇儲存

  7. (選用) 選取覆寫用戶端設定以強制執行這些設定,並忽略查詢層級 DPU 組態。

使用 設定 DPU 控制項AWS CLI
  • 使用 update-work-group命令來設定工作群組的 DPU 控制項:

    aws athena update-work-group \ --work-group my_workgroup \ --configuration-updates '{ "EngineConfiguration": { "Classifications": [ { "Name": "athena-query-engine-properties", "Properties": { "max-dpu-count" : "24", "min-dpu-count" : "12" } } ] }}'

    如果您將 EnforceWorkGroupConfiguration 設定為 true,工作群組設定會覆寫透過 StartQueryExecution 提交時在查詢層級指定的任何 DPU 控制項。這可確保工作群組中所有查詢的資源配置一致。

使用個別查詢設定 DPU 控制項

當您需要使用具有不同資源需求的查詢進行精細控制時,請設定查詢層級 DPU 控制。查詢層級 DPU 控制優先於工作群組層級設定,除非工作群組已啟用覆寫用戶端設定

使用主控台設定查詢的 DPU 控制項
  1. 前往 https://console.aws.amazon.com/athena/ 開啟 Athena 主控台。

  2. 在導覽窗格中,選擇 Query Editor (查詢編輯器)

  3. 選取使用容量保留的工作群組。

  4. 選擇查詢設定索引標籤。

  5. 執行控制項區段中,選擇編輯控制項

  6. 設定下列項目:

    • 對於每個查詢的最小 DPU,以 4 為增量,輸入介於 4 到 124 之間的值。

    • 對於每個查詢的最大 DPU,以 4 為增量,輸入介於 4 到 124 之間的值。

  7. 選擇儲存

使用 設定查詢的 DPU 控制項AWS CLI
  • 使用 start-query-execution命令搭配 engine-configuration 參數:

    aws athena start-query-execution \ --query-string "SELECT * FROM my_table LIMIT 10" \ --work-group "my_workgroup" \ --engine-configuration '{ "Classifications": [ { "Name": "athena-query-engine-properties", "Properties": { "max-dpu-count" : "32", "min-dpu-count" : "8" } } ]}'

查詢層級和工作群組層級 DPU 設定之間的關係取決於您的工作群組組態:

  • 啟用覆寫用戶端設定時,工作群組層級 DPU 控制優先於任何查詢層級設定。這可確保指定工作群組中所有查詢的一致資源用量。

  • 未啟用覆寫用戶端設定時,查詢層級 DPU 控制優先於工作群組層級設定。這可讓個別查詢最佳化的彈性。

如果您未在任一層級指定 DPU 控制項,Athena 會根據查詢複雜性自動配置容量。

注意

對於 DDL 查詢,最小 DPUs的最大值為 4。為 DDL 查詢設定較高的最小值會導致錯誤。

監控 DPU 用量

查詢完成後,您可以檢視其 DPU 用量。Athena 透過主控台、API 操作和 CloudWatch 提供 DPU 用量指標。

在主控台中檢視 DPU 使用量
  1. 前往 https://console.aws.amazon.com/athena/ 開啟 Athena 主控台。

  2. 在導覽窗格中,選擇 Query Editor (查詢編輯器)

  3. 查詢完成後,請在查詢結果容器中檢視其已使用的 DPU 值。

  4. 若要檢視過去查詢的 DPU 使用量:

    1. 在導覽窗格中選擇最近的查詢

    2. 如果尚未顯示,請選取設定圖示,將已使用 DPU 資料欄新增至資料表。

    3. 檢閱每個已完成查詢的 DPU 使用量。

  5. 或者,從查詢編輯器中,選擇查詢統計資料索引標籤並檢閱已使用的 DPU

使用 API 擷取 DPU 耗用
  1. 使用下列 API 操作以程式設計方式擷取 DPU 使用量:

    • GetQueryExecution - 傳回特定查詢的執行詳細資訊

    • BatchGetQueryExecution - 傳回多個查詢的執行詳細資訊

  2. 使用 AWS CLI 的範例:

    aws athena get-query-execution \ --query-execution-id "123e4567-e89b-12d3-a456-426614174000"

    回應包含 Statistics 物件中的 DpuCount 欄位:

    { "QueryExecution": { "Statistics": { "DpuCount": 8 } } }
使用 CloudWatch 監控 DPU 用量