當您購買按量付費規格后,MaxCompute會對SQL、MapReduce、Lightning(交互式分析)、Spark、Mars(數據科學)、MCQA(查詢加速SQL)和MaxFrame計算類型按量付費。本文為您介紹不同計算類型下的計費規則。
背景信息
MaxCompute是以作業的執行情況作為計量指標,并在作業執行后收取費用。目前MaxCompute對SQL、MapReduce、Lightning(交互式分析)、Spark、Mars(數據科學)、MCQA(查詢加速SQL)和MaxFrame計算類型按量收費,其他計算類型若有商業化收費會另行通知。
PyODPS任務底層執行的是SQL任務,費用參考SQL的計量計費邏輯。有關其他計算類型的收費請關注阿里云相關公告。
Lightning(交互式分析)服務于2022年12月31日下線,詳情請參見MaxCompute Lightning服務下線公告。
按量付費開發者版已停止新購,并將于北京時間2023年10月31日(周二)00:00:00停止服務,建議您盡快調整至標準計算資源,詳情請參見2022年09月23日-MaxCompute部分售賣規格停止新購公告。
SQL、MapReduce、Lightning(交互式分析)、Spark、Mars、MCQA(查詢加速SQL)和MaxFrame計費方式如下:
SQL作業按量付費
每執行一個SQL作業,MaxCompute會根據作業的輸入數據量及SQL復雜度進行計費。系統將在第二天對所有執行成功的SQL作業進行一次性按項目維度匯總計費,并在06:00前匯總在賬號賬單中,自動從賬號余額中扣除費用。
執行失敗的SQL作業不計費。
與存儲類似,SQL作業的輸入量是以壓縮后的量計費。
賬單和下載的數據記錄中,數據量的單位是Byte,需要除以10243換算為GB。
SQL作業計費預估方法
您可以通過SQL費用預估方法,提前預估SQL費用,防止計費費用過高。常見預估SQL費用方法如下。
如果您使用DataWorks開發SQL,可以通過圖形界面上的費用預估功能估算費用。詳情請參見使用DataWorks開發SQL。
如果您使用的開發工具為IntelliJ IDEA,也可以在提交SQL腳本時自動估算費用。詳情請參見開發及提交SQL腳本。
實際SQL開發中,調用SQLCostTask接口估算SQL費用。詳情請參見ODPS SDK。
在實際生產環境中,正式上線一個分析SQL前,通過Cost SQL命令估算該SQL作業的費用。詳情請參見計量預估。
預估的費用不一定等于真實費用,真實費用以最終賬單費用為準。
不支持預估外部表參與計算的SQL作業費用。
如果您擔心按量付費項目的日消費過高,可以通過云監控配置消費監控告警。您可以按項目粒度配置每日消費總額上限告警,及時獲取當日累計消費總額,以免消費超出預期。消費監控告警配置詳情請參見消費監控告警。
SQL作業計費規則
不同類型SQL作業的計費規則如下。
類型 | 計費公式 | 價格(單個SQL作業計算費用) | 說明 |
開發者版SQL作業 (指在綁定了按量付費開發者版的項目下提交的SQL作業) | SQL作業當日總費用=計算輸入數據量×單價 | 一般情況下,計費單價如下:
| 按量付費開發者版每個項目每個月的計算費用優惠100元。 說明 按量付費開發者版已停止新購,并將于北京時間2023年10月31日(周二)00:00:00停止服務,建議您盡快調整至標準計算資源,詳情請參見2022年09月23日-MaxCompute部分售賣規格停止新購公告。 |
標準SQL作業 (指使用按量付費標準版計算配額的SQL作業) | SQL作業當日總費用=計算輸入數據量×SQL復雜度×單價 |
| |
SpotSQL作業 (指使用按量付費閑時版計算配額的SQL作業) | SQL作業當日總費用=計算輸入數據量×SQL復雜度×單價 | 一般情況下,計費單價如下:
| |
引用外部表的SQL作業 (包括OTS外部表作業、OSS外部表作業、Spot OTS外部表作業、SpotOSS外部表作業) | SQL作業當日總費用=計算輸入數據量×單價 | 一般情況下,計費單價如下:
| 自2018年10月31日起,外部表開始計費,詳情請參見外部表。 |
計算輸入數據量:指一個SQL作業實際掃描的數據量。大部分的SQL作業有分區過濾和列裁剪,所以通常該值會遠小于源表數據大小。
分區過濾:例如SQL語句中含有
WHERE ds > 20130101
,ds
是分區列,則計費的數據量僅包括實際讀取的分區,不包括其他分區的數據。列裁剪:例如SQL語句
SELECT f1,f2,f3 FROM t1;
,只計算t1表中f1、f2和f3列的數據量,其他列不參與計費。
SQL復雜度:系統先統計SQL語句中的關鍵字,再折算為SQL復雜度。
統計SQL關鍵字。
SQL關鍵字個數=JOIN個數+GROUP BY個數+ORDER BY個數+DISTINCT個數+窗口函數個數+
MAX((INSERT個數|UPDATE個數|DELETE個數),1)
。更多關鍵字信息,請參見JOIN、GROUP BY、ORDER BY、窗口函數、INSERT、UPDATE|DELETE。說明如果SQL關鍵字個數遠高于20,會導致解析消耗大量時間,且作業長期處于排隊狀態,建議您優化SQL,控制SQL關鍵字個數。
SQL復雜度計算。
SQL關鍵字個數小于等于3,復雜度為1。
SQL關鍵字個數小于等于6,且大于等于4,復雜度為1.5。
SQL關鍵字個數小于等于19,且大于等于7,復雜度為2。
SQL關鍵字個數大于等于20,復雜度為4。
SQL作業計費示例
以下述SQL為例:
SELECT DISTINCT total1
FROM(SELECT id1,
COUNT(f1) AS total1
FROM in1
GROUP BY id1
) tmp1
ORDER BY total1 DESC
LIMIT 100;
其中
DISTINCT個數為1
GROUP BY個數為1
ORDER BY個數為1
MAX((INSERT個數|UPDATE個數|DELETE個數), 1) = MAX(0|0|0, 1) = 1
SQL關鍵字個數 = 1+1+1+1 = 4
由此可知,SQL關鍵字個數小于等于6,且大于等于4,復雜度為1.5,即SQL復雜度為1.5。
MapReduce按量付費
MapReduce作業執行成功后,系統會統計作業所消耗的計算時。系統將在第二天對所有執行成功的MapReduce作業進行一次性匯總計費,并在06:00前匯總在賬號賬單中,自動從賬號余額中扣除費用。
執行失敗的MapReduce作業不計費。
任務排隊時間不計費。
相同作業會受集群負載環境的影響而產生較小的費用波動。
資源的基本單位定義為CU(Compute Unit),1 CU包含的計算資源為4 GB內存和1 CPU Core。當作業消耗的內存大于4倍的1 CPU Core時,計算時為消耗內存量除以4再乘以時間。
如果您購買了MaxCompute包年包月服務,可以在購買的服務范圍內免費執行MapReduce作業,不需要額外支付費用。
如果您對MapReduce作業計費存在疑問,請通過申請鏈接或搜索(釘釘群號:11782920)加入MaxCompute開發者社區釘群聯系MaxCompute技術支持咨詢。
MapReduce作業計費規則如下。
計費公式 | 類型 | 價格 | 說明 | 示例 |
| 標準MapReduce作業 (指使用按量付費標準版計算配額的MapReduce作業) | 一般情況下,計費單價如下:
| 自2017年8月16日起,MaxCompute正式開始對MapReduce作業按量付費。一個Map或Reduce作業默認占用2 Core且占用3 GB內存。 | 一個MapReduce作業執行成功時調用了100 Core并消耗0.5小時,則計算時為 MapReduce作業總計算費用如下:
|
SpotMapReduce作業 (指使用按量付費閑時版計算配額的MapReduce作業) | 一般情況下,計費單價如下:
| 一個SpotMapReduce作業執行成功時調用了100 Core并消耗0.5小時,則計算時為 該SpotMapReduce作業總計算費用如下:
|
MCQA(查詢加速SQL)按量付費
每執行一次MCQA作業,MaxCompute將根據作業的輸入數據量進行計費。系統將在第二天對所有MCQA作業的計費信息進行一次性匯總計費,并在06:00前匯總在賬號賬單中,自動從賬號余額中扣除費用。
如果您已經購買了預付費(包年包月)資源,則可以單獨劃分一部分Quota資源給MCQA作業獨立使用;如果您只有后付費,則當執行MCQA作業時,費用與普通SQL作業計算收費一致。
MaxCompute按照每條查詢作業掃描的數據量(每條查詢至少10 MB)計費。對于取消的查詢作業,按實際掃描的數據量計費。
不查詢不產生任何費用。
MaxCompute默認對數據進行列式存儲和數據壓縮。MaxCompute按照壓縮后的數據量計算數據掃描量。
查詢分區表時,您可以應用分區過濾條件,減少數據掃描量并提升查詢性能。
華東1(杭州)、華東2(上海)、華北2(北京)、華北3(張家口)、華北6(烏蘭察布)、華南1(深圳)和西南1(成都)區域已開通MCQA作業按量付費服務。
MCQA作業計費規則如下。
計費公式 | 價格 | 說明 |
一次MCQA作業費用=輸入數據量×SQL復雜度×單價 | 一般情況下,計費單價如下:
| 自2020年10月12日起,MaxCompute正式對MCQA作業按量付費,詳情請參見查詢加速(MCQA)。 |
Spark按量付費
Spark作業執行成功后,系統會統計作業所消耗的計算時。系統將在第二天對所有Spark作業的計費信息進行一次性匯總計費,并在06:00前匯總在賬號賬單中,自動從賬號余額中扣除費用。
作業排隊時間不計費。
相同作業會因為指定資源的大小不同而產生費用波動。
如果您購買了MaxCompute包年包月服務,可以在購買的服務范圍內免費執行Spark作業,不需要額外支付費用。
如果您對Spark作業計費存在疑問,請通過申請鏈接或搜索(釘釘群號:11782920)加入MaxCompute開發者社區釘群聯系MaxCompute技術支持咨詢。
華東1(杭州)、華北2(北京)、華南1(深圳)區域已開通Spark作業按量付費服務,其他區域將陸續開放。
Spark作業計費規則如下。
計費公式 | 類型 | 價格 | 說明 | 示例 |
Spark作業當日計算費用=當日總計算時×單價 | 標準Spark作業 (指使用按量付費標準版計算配額的Spark作業) | 一般情況下,計費單價如下:
| 自2019年2月1日起,MaxCompute正式對Spark作業按量付費,詳情請參見Spark on MaxCompute。 Spark作業的計算時詳情如下:
| 執行Spark作業使用2 CPU Core和5 GB內存,運行1小時。則計算時為 Spark作業計算費用在公有云上為 |
SpotSpark作業(指使用按量付費閑時版計算配額的Spark作業) | 一般情況下,計費單價如下:
| 執行SpotSpark作業使用2 CPU Core和5 GB內存,運行1小時。則計算時為 SpotSpark作業計算費用在公有云上為 |
Mars(數據科學)按量付費
Mars作業執行成功后,系統會統計作業所消耗的計算時。系統將在第二天對所有Mars作業的計費信息進行一次性匯總計費,并在06:00前匯總在賬號賬單中,自動從賬號余額中扣除費用。
作業排隊時間不計費。
相同作業會因為指定資源的大小不同而產生費用波動。
如果您購買了MaxCompute包年包月服務,可以在購買的服務范圍內免費執行Mars作業,不需要額外支付費用。
如果您對Mars作業計費存在疑問,請通過申請鏈接或搜索(釘釘群號:11782920)加入MaxCompute開發者社區釘群聯系MaxCompute技術支持咨詢。
華東1(杭州)、華東2(上海)、華北2(北京)、華北3(張家口)、華北6(烏蘭察布)、華南1(深圳)、西南1(成都)和中國(香港)區域已開通Mars作業按量付費服務,其他區域將陸續開放。
Mars作業計費規則如下。
計費公式 | 類型 | 價格 | 說明 | 示例 |
Mars作業當日計算費用=當日總計算時×單價 | 標準Mars作業 (指使用按量付費標準版計算配額的Mars作業) | 一般情況下,計費單價如下:
| 自2020年9月1日起,MaxCompute正式對Mars作業按量付費,詳情請參見數據科學(Mars)。 Mars作業的計算時詳情如下:
| 執行Mars作業使用2 CPU Core和5 GB內存,運行1小時。則計算時為 Mars作業計算費用在公有云上為 |
Spot Mars作業 (指計算配額為使用按量付費閑時版計算配額的Mars作業) | 一般情況下,計費單價如下:
| 執行SpotMars作業使用2 CPU Core和5 GB內存,運行1小時。則計算時為 SpotMars作業計算費用在公有云上為 |
MaxFrame作業按量付費
MaxFrame作業執行后,系統會統計作業所消耗的CU時(計算時)。系統將在第二天對所有MaxFrame作業的計費信息進行一次性匯總計費,并在06:00前匯總在賬號賬單中,自動從賬號余額中扣除費用。
如果您購買了MaxCompute包年包月服務,可以在購買的服務范圍內免費執行MaxFrame作業,不需要額外支付費用。
華東1(杭州)、華北2(北京)、華南1(深圳)、華東2(上海)、西南1(成都)、中國(香港)地域已開通MaxFrame作業按量付費服務。
您有任何相關問題或需要協助,可以通過填寫釘釘群申請表單加入MaxCompute開發者社區群(釘釘群號:11782920)、您的專屬釘群或者MaxFrame官方用戶支持群(釘釘群號:37130012987)等方式聯系我們。
MaxFrame作業計費規則如下。
計費公式 | 類型 | 價格 | 說明 | 示例 |
MaxFrame作業當日計算費用=當日總計算時×單價 | 標準MaxFrame作業 (指使用按量付費標準版計算配額的MaxFrame作業) | 一般情況下,計費單價如下:
| MaxFrame作業的計算時詳情如下:
| 執行MaxFrame作業使用2 CPU Core和5 GB內存,運行1小時。則計算時為 MaxFrame作業計算費用在公有云上為 |
Lightning(交互式分析)按量付費(已下線)
每執行一次Lightning查詢作業,MaxCompute將根據作業的輸入數據量進行計費。系統將在第二天對所有查詢作業的計費信息進行一次性匯總計費,并在06:00前匯總在賬號賬單中,自動從賬號余額中扣除費用。
Lightning服務使用單獨的計算資源。即使您購買了MaxCompute包年包月服務,使用Lightning時也會按照查詢作業掃描的數據量計費。
Lightning按照每條查詢作業掃描的數據量(每條查詢至少10 MB)計費。對于取消的查詢作業,按實際掃描的數據量計費。
不查詢不產生任何費用。
MaxCompute默認對數據進行列式存儲和數據壓縮。MaxCompute按照壓縮后的數據量計算數據掃描量。
查詢分區表時,您可以應用分區過濾條件,減少數據掃描量并提升查詢性能。
華東1(杭州)、華東2(上海)、華北2(北京)、華南1(深圳)區域已開通Lightning服務。中國(香港)和新加坡區域開放Lightning服務公測。
Lightning查詢作業計費規則如下。
計費公式 | 價格 | 說明 |
一次Lightning查詢作業費用=查詢輸入數據量×單價 | 一般情況下,計費單價如下:
| 自2019年2月1日起,MaxCompute的Lightning服務正式開始按量付費,詳情請參見Lightning服務。 |