全部產品
Search
文件中心

MaxCompute:消費控制

更新時間:Aug 03, 2024

本文為您介紹如何對隨用隨付的計算任務的消費進行限制並警示。

功能介紹

MaxCompute隨用隨付資源為Auto Scaling資源,按需求為計算任務提供資源,對資源使用無限制。因此,您需要監控計算任務的消費情況,以免超出預期。MaxCompute提供如下消費監控警示方式:

  • 單SQL消費限制:MaxCompute支援在執行SQL語句前預估SQL語句的消費(包括使用後付費和訂用帳戶計算資源的SQL)。當預估消費超出設定的閾值時,SQL語句執行受限,系統返回失敗狀態並給出失敗資訊。您可以通過此功能預防單個SQL語句產生高額費用。

  • 即時累計消費監控警示:您可以通過CloudMonitor平台進行配置,針對未出賬的標準SQL和MapReduce、Spark計算任務進行即時消費監控及警示。系統以專案(Project)為單位,按量統計日或月的累計消費,詳細計費方式請參見計算費用。當累計消費超出設定的閾值時,系統會通過電話、簡訊、郵件或DingTalk等方式通知您。

    說明

    即時消費是指單純的計量消費,未出賬,不含任何優惠及折扣。

單SQL消費限制

單SQL消費限制支援如下兩種設定方式:

  • Project層級設定。

    需要由Project Owner或者擁有Super_Administrator角色的使用者執行如下命令開啟或撤銷單SQL消費限制,設定後,該Project發起的可預估的SQL作業都會受到影響。

    --開啟單SQL消費限制。
    setproject odps.sql.metering.value.max=<m_value>;
    
    --撤銷單SQL消費限制。
    setproject odps.sql.metering.value.max;
  • Session層級設定。

    將如下命令和SQL語句一起提交執行即可開啟單SQL消費限制,SQL語句前不添加該命令則表示撤銷單SQL消費限制。只對本次執行有效。

    set odps.sql.metering.value.max=<m_value>;

m_value指單SQL消費的最高閾值,是SQL讀取量(GB)×SQL複雜度的值,並非消費金額。

說明

Project的單SQL消費受m_value限制。如果某個SQL的預估消費超過m_value,該SQL執行受限。有些SQL目前無法預估(如執行外部表格的SQL),則此功能無法對這類SQL生效。

在實際操作中,建議您:

  • 根據專案中歷史SQL消費以及您的預期消費設定Project層級的m_value

    您可以下載每天的詳細計量資訊,以Project為粒度,計算SQL任務(資料分類為ComputationSql的任務)的計算消耗量(即SQL讀取量(GB)×SQL複雜度),並根據每日正常消耗的最高值,結合業務波動確定一個合適的值。

    您還可以將計算消耗換算成費用,再結合業務情況,確定一個合適的金額後換算成消耗量。

  • 先設定Project層級的消費限制,然後針對某些特殊的SQL單獨設定Session層級的m_value限制。

    說明
    • 設定Session層級的消費限制前,請您務必確認相應的SQL確實需要Session層級的限制,避免濫用該功能。

    • 如果同時設定Project層級和Session層級的消費限制,則Session層級優先順序高於Project層級。例如,Project層級設定m_value為100,而Project中某個SQL設定了Session層級的m_value為200,則該SQL執行前預估消費超過100不受限,超過200會受限。其他沒有單獨設定Session層級限制的SQL語句,會遵從Project層級的限制,預估消費超過100就會受限。

  • 無論是設定Project層級還是Session層級的消費限制,都會影響任務的執行,建議您結合任務失敗警示功能(例如DataWorks的智能監控)使用,及時感知任務失敗並進行人工幹預先處理,以免關鍵任務被限制後影響業務。

即時累計消費監控警示

專案(Project)為單位,累計統計每個執行成功的SQL/MR/Spark作業消費金額(通過計量資料按收費公式統計的目錄價),支援按日或月的累計資料並推送到CloudMonitor,通過CloudMonitor實現即時累計消費監控警示。配置操作步驟如下:

  1. 登入CloudMonitor控制台

  2. 建立警示連絡人,若已經建立過則可以忽略此步驟。詳細步驟請參考建立警示連絡人或警示連絡人群組

  3. 配置警示規則,詳細步驟可參考建立警示規則。配置MaxCompute即時累計消費監控警示規則時,需要注意的配置項說明如下:

    地區

    參數

    說明

    關聯資源

    產品

    選擇MaxCompute-隨用隨付

    資源範圍

    警示規則的作用範圍。

    • 全部資源:即所有專案(Project)滿足警示規則描述時,都會發送警示通知。

    • 應用分組:警示規則作用於指定雲產品的指定應用分組內的全部資源,對於新加入的資源生效。

    • 執行個體(推薦):可以按需選擇關聯需要監控的專案,比如只需要監控計算資源使用隨用隨付資源的專案。

    關聯資源

    當資源範圍選取執行個體,則在此處選擇對應的專案。

    規則描述

    監控指標

    • 隨用隨付作業的日消費(USD),即以專案( Project)為單位按日累計。

    • 隨用隨付作業的月消費(USD),即以專案( Project)為單位按月累計。

    重要

    CNY單位的指標在本網站無效。

    閾值

    單位為USD,金額為計量資料按收費公式統計的目錄價。