发布时间: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_
上一篇:打造商品成爆款如何获取淘宝流量
文章地址:https://www.tianxianmao.com/article/online/13154.html