發布時間:2022-11-08
欄目:電商資訊
利用MaxComputeInformationSchema與阿里云交易和賬單治理API實現MaxCompute費用對賬分攤統計
很多的企業用戶選擇MaxCompute按量付費模式構建自己的數據平臺,利用MaxCompute按作業付費的計費模型,在獲得高性能的同時避免"IDLE"狀態的不必要資源費用支出,僅為實際使用付費。
那么在一個規模比較大的公司,企業購買了MaxCompute服務,會支撐企業內部的不同部門、個人來使用MaxCompute來開展數據處理分析。為了更好地識別數據平臺使用方的周期性花費成本,優化數據資源的使用,就有必要對作業的費用進行統計,從而確認不同人員或歸屬部門的作業數量、作業費用、作業時長、作業資源使用量等指標。基于這些指標進行成本分攤、作業優化等治理工作。
阿里云交易和賬單系統包含了MaxCompute產品的費用信息及費用明細,通過關聯交易和賬單系統的計費明細與MaxCompute項目的作業明細或某時間段的賬單費用,可以獲得使用用戶、作業明細信息(如提交人賬號、作業SQL內容、作業資源使用大小等信息)與計費明細或賬單費用間的關系,從而開展分析。
本文將介紹假如自動化實現MaxCompute按量付費項目的作業費用統計,您也可以通過阿里云交易和賬單系統API獲取其他需要的費用信息,擴展分析場景。
1、獲得MaxCompute項目歷史作業明細
MaxComputeInformation_Schema服務是MaxCompute產品的開放元數據服務,通過Information_Schema提供的一組視圖,用戶可以自助地查詢訪問到項目內的準實時的table,column,function等全量元數據信息,同時也提供了項目內近期的作業歷史明細,供使用者自助查詢使用。
通過元數據服務Information_Schema里面的作業歷史表tasks_history視圖,可以查詢到準實時的項目作業歷史明細。包括:項目名稱、任務名稱、Instanceid、開始時間、結束時間、任務復雜度、任務CPU使用情況等字段。
備注:Information_Schema目前正在灰度中,即將全面開放。
2、獲取作業的計費明細數據
用戶可以通過費用中心賬號總覽消費記錄去查詢具體的消費情況。
同時,格式阿里云交易和賬單治理OpenAPI為用戶提供治理阿里云產品售賣和財資能力,通過該api可以程序化獲取MaxCompute作業計費明細數據。
調用QueryUserOmsData接口(阿里云的賬單系統OMS),可以查詢到具體計量信息編號、數據分類、存儲、SQL讀取量、公網上下行流量等字段信息。
3、關聯計費明細與作業明細
通過表關聯,查詢到需要計算的數據結果
這些數據可以通過作業ID與計費明細數據進行關聯后,您就獲取各個作業明細的費用信息(例如,SQL費用=數據掃描量*復雜度),從而可以開展不同視角的分析。
需要強調的是:MaxCompute的計費都是以阿里云費用中心的出賬結果及費用明細為準。
1.查詢元數據服務里面的作業歷史表tasks_history
例如,您登錄訪問的當前項目為myproject1,在myproject1中,可以通過查詢INFORMATION_SCHEMA.tables獲得當前myproject1中所有表的元數據信息。
INFORMATION_SCHEMA同時包含了作業歷史視圖,可以查詢到當前項目內的作業歷史信息,使用時注重添加日期分區進行過濾,例如。
查詢歷史表字段屬性
如下如所示:
2.使用阿里云交易和賬單治理API獲取費用明細和分攤統計
方法1:手工下載上傳方式
(一)首先在MaxCompute中創建結果輸出表OMS表,建表語句如下:
方法一:手動從視圖下載oms賬單具體費用,將數據上傳(tunnelupload)到odps對應輸出表
手動下載步驟:s://help.aliyun.com/product/87964.html?spm=a2c4g.750001.list.245.5e907b138Ik9xM
進入阿里云用戶中心:s://usercenter2.aliyun.com/home
返回舊版
費用中心>消費記錄>使用記錄
選擇產品類型,填寫使用期間,計算粒度,導出CSV格式
把oms數據定期取下來,然后上傳到odps中創建的結果輸出表(OdpsFeeDemo)
tunneluploadC:UsersDesktopaa.txtproject.tablename;
(二)進行表關聯,將很終結果存儲在上面創建的MaxComputeFee中
方法2:程序化API下載費用明細數據&上傳到MaxCompute后分析
(一)在odps創建oms表OdpsFeeDemo,參考如下:
通過API下載OMS系統數據并上傳到odps對于表格中
代碼參考如下:
1)服務啟動類Application
2)從odps接收數據ReceiveData
3)將接收數據上傳到MaxCompute項目里建好的oms表,類名:OdpsServer
4)配置文件
5)現在將數據上傳到odps里面對應的表,然后進行關聯
--------------------------------------
本文作者:圣遠

原文鏈接:s://yq.aliyun.com/articles/713562?utm_content=g_
上一篇:打造商品成爆款如何獲取淘寶流量
文章地址:http://www.brucezhang.com/article/online/13154.html