MaxCompute支援對SQL、MapReduce、Spark、Mars和MCQA作業隨用隨付。
當執行個體欠費後有停機風險,系統會提醒或通知您,請及時續約,避免對您的服務造成影響。
MaxCompute有以下兩種計算計費方式:
隨用隨付方式。即以作業的消耗作為計量指標,在作業執行成功後收取費用。隨用隨付分為SQL標準計費、SQL外部表格計費、MapReduce計費、Spark計費、Mars計費和MCQA計費六種計費方式。
訂用帳戶方式。即您提前預定一部分資源。
MaxCompute開放的計算作業類型有SQL、MapReduce、Spark、Mars、MCQA、Graph及機器學習作業。其中SQL(不包括UDF)、MapReduce和Spark作業已啟動收費。Mars作業自2020年9月1日起啟動收費。MCQA作業自2020年10月1日起啟動收費。其他類型計算作業暫無收費計劃。
訂用帳戶
您可以預先購買一部分資源,MaxCompute會預留您所購買的資源。資源的基本單位定義為CU(Compute Unit)。1 CU包含的計算資源為4 GB記憶體加1 Core CPU。訂用帳戶計算資源套件括SQL、MapReduce、Spark等類型作業計算所需資源。
資源定義 | 記憶體 | CPU | 售價USD/月 |
1 CU | 4 GB | 1 CPU | 22.0 |
當您購買訂用帳戶計算資源後,可以通過資源觀測進行資源監控管理,詳情請參見資源觀測。
建議新使用者先採用隨用隨付方式進行結算。初期使用MaxCompute時,消耗的資源較少,採購CU預留資源會出現資源閑置。相對而言,隨用隨付方式成本更低。
SQL標準計費
每執行一個SQL作業,MaxCompute會根據作業的計算輸入資料量及SQL複雜度進行計費。系統將在第二天對所有執行成功的SQL作業一次性匯總計費,體現在帳號賬單中,並自動從帳號餘額中扣除費用。
SQL作業的計費公式如下。
一次SQL計算費用 = 計算輸入資料量×SQL複雜度×SQL價格
SQL標準計費的單價如下。
計費項目 | 價格 |
SQL價格 | 0.0438 USD/GB 說明 沙特(利雅得)地區由夥伴營運,單價為0.05256 USD/GB。 |
計算輸入資料量:指一個SQL作業實際掃描的資料量,大部分的SQL作業有分區過濾和列裁剪,所以通常該值會遠小於源表資料大小。
分區過濾:例如SQL語句中含有
WHERE ds > 20130101
,ds
是分區列,則計費的資料量僅包括實際讀取的分區,不包括其他分區的資料。列裁剪:例如SQL語句
SELECT f1,f2,f3 FROM t1;
,只計算t1表中f1、f2和f3列的資料量,其他列不參與計費。
SQL複雜度:先統計SQL語句中的關鍵字,再折算為SQL複雜度,詳情如下:
SQL關鍵字個數=JOIN個數+GROUP BY個數+ORDER BY個數+DISTINCT個數+視窗函數個數+
MAX(INSERT個數|UPDATE個數|DELETE個數-1, 1)
。SQL複雜度計算:
SQL關鍵字個數小於等於3,複雜度為1。
SQL關鍵字個數小於等於6,且大於等於4,複雜度為1.5。
SQL關鍵字個數小於等於19,且大於等於7,複雜度為2。
SQL關鍵字個數大於等於20,複雜度為4。
更多關鍵字資訊,請參見JOIN、GROUP BY、ORDER BY、視窗函數、INSERT、UPDATE|DELETE。
複雜度計量命令格式如下。
COST SQL <SQL Sentence>;
命令樣本如下。
odps@ $odps_project >COST SQL SELECT DISTINCT total1 FROM
(SELECT id1, COUNT(f1) AS total1 FROM in1 GROUP BY id1) tmp1
ORDER BY total1 DESC LIMIT 100;
Intput:1825361100.8 Bytes
Complexity:1.5
樣本中,SQL關鍵字個數為:1個DISTINCT+1個GROUP BY+1個ORDER BY+MAX(0-1, 1)=4,SQL複雜度為1.5,資料量約為1.7 GB,則實際消費如下。
1.7 × 1.5 × 0.0438 = 0.11 USD
賬單在第二天06:00前出賬。
執行失敗的SQL作業不計費。
與儲存類似,SQL作業以壓縮後的資料量計費。
SQL外部表格計費
自2019年3月起,MaxCompute正式對SQL外部表格隨用隨付。
SQL外部表格的計費公式為:
一次SQL計算費用=計算輸入資料量×SQL價格
SQL外部表格的單價如下。
計費項目 | 價格 |
SQL價格 | 0.0044 USD/GB 說明 沙特(利雅得)地區由夥伴營運,單價為0.00528 USD/GB。 |
SQL複雜度係數為1。當天的所有計量資訊在第二天做一次性匯總收費,並直接體現在您的賬戶賬單中。
賬單在第二天06:00前出賬。
執行內外表混合作業時,系統會對兩種表分別計費。
不支援預估外部表格參與計算的SQL作業費用。
MapReduce隨用隨付
自2017年12月19日起,MaxCompute正式對MapReduce作業隨用隨付。
MapReduce作業的計費公式為:
MapReduce作業當日計算費用=當日總計算時×單價(USD)
MapReduce作業單價如下。
計費項目 | 價格 |
MapReduce價格 | 0.0690 USD/計算時 說明 沙特(利雅得)地區由夥伴營運,單價為0.0828 USD/計算時。 |
MapReduce作業計算時的計算公式如下。
一個執行成功的MapReduce作業計算時=作業已耗用時間(小時)×作業調用的Core數量。
例如,一個MapReduce作業執行成功時調用了100 Core並消耗0.5小時,則計算時為100 Core×0.5小時=50
。
MapReduce作業執行成功後,系統會統計作業所消耗的計算時。系統將在第二天對所有執行成功的MapReduce作業一次性匯總計費,體現在帳號賬單中,並自動從帳號餘額中扣除費用。
賬單在第二天06:00前出賬。
執行失敗的MapReduce作業不計費。
作業排隊時間不計費。
如果您購買了MaxCompute訂用帳戶服務,可以在購買的服務涵蓋範圍內免費執行MapReduce作業,不需要額外支付費用。
Spark隨用隨付
自2019年2月1日起,MaxCompute正式對Spark作業隨用隨付,詳情請參見MaxCompute Spark。Spark作業的計費公式為:
Spark作業當日計算費用 = 當日總計算時×單價(0.1041 USD/計算時)
Spark的單價如下。
計費項目 | 價格 |
Spark價格 | 0.1041 USD/計算時 說明 沙特(利雅得)地區由夥伴營運,單價為0.12492 USD/計算時。 |
Spark作業的計算時計算方式如下。
Spark作業計算時=MAX(CPU×時間長度, 向上取整(記憶體×時間長度/4))
其中:
需要您提供計算消耗的CPU Core數量、啟動並執行時間長度以及記憶體量。
1個計算時包含1 CPU Core和4 GB記憶體。
例如,執行Spark作業使用2 CPU Core和5 GB記憶體,運行1小時,則計算時為MAX(2×1, 向上取整(5×1/4))=2
。執行Spark作業使用2 CPU Core和10 GB記憶體,運行1小時,則計算時為MAX(2×1, 向上取整(10×1/4))=3
。
Spark作業執行成功後,系統會統計作業所消耗的計算時。系統將在第二天對所有執行成功的Spark作業一次性匯總計費,體現在帳號賬單中,並自動從帳號餘額中扣除費用。
賬單在第二天06:00前出賬。
作業排隊時間不計費。
相同作業會因為指定資源的大小不同而產生費用波動。
如果您購買了MaxCompute訂用帳戶服務,可以在購買的服務涵蓋範圍內免費執行Spark作業,不需要額外支付費用。
資料科學(Mars)隨用隨付
自2020年9月1日起,MaxCompute正式對Mars作業隨用隨付,詳情請參見資料科學(Mars)。Mars作業的計費公式為:
Mars作業當日計算費用=當日總計算時×單價(0.1041 USD/計算時)
資料科學(Mars)的單價如下。
計費項目 | 價格 |
資料科學(Mars)價格 | 0.1041 USD/計算時 說明 沙特(利雅得)地區由夥伴營運,單價為0.12492 USD/計算時。 |
Mars作業的計算時詳情如下:
計算消耗的CPU Core及記憶體數量。
1計算時包含1 CPU Core和4 GB記憶體。
計算方法為
MAX(CPU×時間長度, 向上取整(記憶體×時間長度/4))
。例如,執行Mars作業使用2 CPU Core和5 GB記憶體,運行1小時,則計算時為
MAX(2×1, 向上取整(5×1/4))=2
。執行Mars作業使用2 CPU Core和10 GB記憶體,運行1小時,則計算時為MAX(2×1, 向上取整(10×1/4))=3
。
Mars作業執行成功後,系統會統計作業所消耗的計算時。系統將在第二天對所有執行成功的Mars作業一次性匯總計費,體現在帳號賬單中,並自動從帳號餘額中扣除費用。
賬單在第二天06:00前出賬。
作業排隊時間不計費。
相同作業會因為指定資源的大小不同而產生費用波動。
如果您購買了MaxCompute訂用帳戶服務,可以在購買的服務涵蓋範圍內免費執行Mars作業,不需要額外支付費用。
查詢加速(MCQA)隨用隨付
自2020年10月1日起,MaxCompute正式對MCQA作業隨用隨付,詳情請參見查詢加速(MCQA)。
每執行一次MCQA作業,MaxCompute將根據作業的輸入資料量進行計費。當天所有MCQA作業的計費資訊將在第二天一次性匯總。
MCQA作業的計費公式為:
一次MCQA作業費用=查詢輸入資料量×單價(0.0438 USD/GB)
查詢加速(MCQA)的單價如下。
計費項目 | 價格 |
查詢加速(MCQA)價格 | 0.0438 USD/GB 說明 沙特(利雅得)地區由夥伴營運,單價為0.05256 USD/GB。 |
MCQA作業使用單獨的計算資源。即使您購買了MaxCompute訂用帳戶服務,執行MCQA作業時,MaxCompute也會按照查詢作業掃描的資料量計費。
MaxCompute按照每條查詢作業掃描的資料量(每條查詢至少10 MB)計費。對於取消的查詢作業,按實際掃描的資料量計費。
賬單在第二天06:00前出賬。
不查詢不產生任何費用。
MaxCompute預設對資料進行列式儲存和資料壓縮。MaxCompute按照壓縮後的資料量計算資料掃描量。
查詢分區表時,您可以應用分區過濾條件,減少資料掃描量並提升查詢效能。
中國(香港)、新加坡、印尼(雅加達) 、馬來西亞(吉隆坡)地區已開通MCQA作業隨用隨付服務,處於公測階段,其他地區將陸續開放。