MaxCompute按量付费业务流程的计量明细统计

简介: 本文针对一个公司有多个部门,一个部门又含有多条业务,另外业务流程中可能包含MapReduce、Spark、SQL,但是如何统计其中一条的业务流程的计费信息。针对这一需求,本文采用的方案是:通过计量计费中获取当前所有project的在某一天的计费信息->采用DataWorks的API获取该project的业务流程下的所有nodeID->通过MaxCompute的SDK将数据写入到MaxCompute表中->最后使用SQL统计出一条业务流程的总的计费统计情况。

一、计量明细的介绍和使用

1.1导出用量明细数据

用量明细的参考文档

https://help.aliyun.com/document_detail/53057.html


费用账单>用量明细 可以看到费用明细下的用量明细,在右侧选择大数据计算服务MaxCompute(按量付费),并选择所有统计的时间段,以及计费粒度,填写验证码,选择导出CSV。

image.png

用户中心

用量明细

导出说明:

1.导出文件格式为CSV,您可以使用Excel等工具查看

2.如果导出文件中有错误提示,请按照提示重新操作.

3.如果导出记录过大,文件可能会被截断,请修改导出条件并重试.

全部菜单项

首页

产品

大数据计算服务MaxCompute(按量付费)

资金音理

计量规格:

大数据计算服务MaxCompute(按量付费)

收支明细

?

使用时间:

2020-11-30

2020-11-30

费用账单

计量粒度:

小时

菱用账单

ROTC

看不清楚,换一张

RCVC

验证码:

成本账单

导出记录

导出CSV

月账单

用量明细

费用管理

费用分析

可以看到界面的正处于导出状态,稍等片刻,可以看到导出成功的状态,点击下载功能

image.png

aruladTORaLRU

28

8:0

港封日

用星

快上B豆

用量汗

采时已c图

用量转生

量调味

用量付庄

用遇习名

朵游

经过筛选后可以看到使用的业务流程主要为3个SQL任务

image.png

存惜(lyte)

项县绝短计品信息编号

SQu交互式分析取品

(ivte

结末时间

敬活分类

SQL话耳SOL

2020/11/300:30

ComeutationSal

maxcomol2020112916293330bahqaslm

11298467

2020/11/30031

2452083

ComcutationSql

maxcompl20201129163107308wmdy72m

2020/11/30031

1456039

maxcompl20201129163140250g4u1292

ComputationSql


1.2在MaxCompute创建用量明细的表

用量明细的表以及所有字段

CREATETABLE IF NOT EXISTS OdpsFee(ProjectId          STRING COMMENT '项目编号',MeteringId         STRING COMMENT '计量信息编号',Type                  STRING COMMENT '数据分类',Storage            STRING COMMENT '存储(Byte)',EndTime            STRING COMMENT '结束时间',ComputationSqlInput  STRING COMMENT 'SQL读取量',ComputationSqlComplexity  STRING COMMENT 'SQL复杂度',Upload STRING COMMENT '公网上行',Download STRING COMMENT '公网下行',ComputationCount STRING COMMENT 'MR/Spark作业计算(Core*Second)',SqlReadOTS STRING COMMENT 'SQL读取量_访问OTS(Byte)',SqlReadOSS STRING COMMENT 'SQL读取量_访问OSS(Byte)',StartTime STRING COMMENT '开始时间',OdpsSpecCode STRING COMMENT '计算资源规格',DataWorksID STRING COMMENT 'DataWorks调度任务ID');


在DataWorks创建表

image.png

查询

DWUSERINFOALLD

巴口OC8

43

CREATETABLEIFNOTEXISTSOdPSFEEC

STRINGCOMMENT项目编号

ProjectId

STRINGCOMIENT计量信息编号

MeteringId

STRINGCOMIMENT数据分类

Type

STRINGCOMMENT存储(Byte)

Storage

STRINGCOMMENT结束时间

50

EndTime

ComputationSqlInputSTRINGCOMENT'SOL读取量

51

ComputationSqicomplexitySTINGTL复杂度

52

UpLoadSTRINGCOMMENT?公网上行

53

DOwLoaDSTRINGCOMMENT网下行

54

COMPutATionCOUntSTINGCENTR/SaK作业计算(Cresecond)

SqIREADOTSSTRINGCOMENTSQL读取售_访问oTs(Byte)

SqIREADOSSSTRINGCOMMENT'SQL读取里_访问oSS(Byte)

STArtTimeSTRINGCMENT开始时间

odpsspecCodeSTRINGCOMMENT计算资源规格

DAtaMorKsIDSTRINGCOMMENT'DataHorks调度任务ID

60

61

D;

运行日志

ax

OX

2929-11-3015:81:56tarttoetabid;

28211315:81:561d:2823113887915558330728

ID2929113887015558398um28

CK

2929113015:81:58FO

232811315:81:58FOButcoDeofteshaco

2828113015:81:58F0--Lmocatianofsellcodcomletd

282811315:81:58Fshelnsucesfuy!

2828113815:81:58FOCmEnttaskTatusFos

2929113915:81:58FOCo5tLi5:89155

wltinyatst/zsh//Am

查看MaxCompute表是否创建成功

image.png

公共表

MaCompute

MaxComputegn

maxcomoute_git

0

odpsmarcomputegt

storeSales

+WUSERINFOAD

odps.maxcompute_gL

odsuseRinfod

odpsmarcomputegit...

R

odps.marcompute_git

odsfawJogd

ods-enterprsesharebasic

odps.maxcompute_git.

Ptuserinfod

odps.marcompute_git..

OdpsfEedemo

odps.marcompute-gt

odpsmacomputegt

odpsfee

数据预货

列信息

分区信息

措述

列信息

器型

项目编号

string

proLcctid

计星信息编号

meterngLid

string

数系分

string

type

存错(Byte)

stning

storage

结束时间

string

endime

SQL诗取显

string

computationsqlIinput

SOL复杂度

computationsqlcomplexity

string

公网上行

string

中pload

公网下行

string

dowTload

string

MR/Spark作业计算(CoreSecond)

compuTationcount

SQL读取量访问ors(Byte)

string

sqlreadots

SQL读取量访问oss(Bye)

string

SqLreadoss

开始时间

string

计算资海规格

string

odpsspeccode

DataWorks调度任务ID

string

dataworksid

1.3将下载的计量明细数据到入到MaxCompute表中

在业务流程中中,鼠标指向表,并点击右键,选择导入数据

image.png

解决方案

业务选程

数舒质星检测模拟

WorKShoP-git

数据集成

MaxCompute

数锅开发

田田田田田田一

DWUSERINfOAILD锁定

odps.maxcompute_gitdev

odpsfee领定odps.maxcompute_gitdev

锁定odps.maxcompute_gitde

odser

编辑

odsIo

maxcompute_gitdey

Meta中查看

odsTa

maxcompute_git_dey

导入数据

is.maxcomputeqItDEv

odsUS

别除麦

中tUS数据同步导出数据

imaxcompute-gitdev

数据同步导入数据

资源

颜数

数据服务

通用

自定义

选择创建的表odpsFree

image.png

Projectid

五数卖质星岭测衡拟

MeteringId

WOr'ShOPOU

Type

Storage

欢保生城

12212我2020111811:4055

CorputationSq1i

oss同步节点我货定20201116163238

ROS月节点我锁202011-1616:3249

CorputationCoun

MarComPute

SqIReadOTsSTRI

燕新开发

SqIREadossSTRI

StartTimeSTRIN

DWUSERIN货DE202011171433:38

ODSLOGINTOd我锁定2020-11171433:25

导入表

IPUUREJNTO我锁E20201117143347

选择导入的表:

清选择

咪WUSEINfO定odpmaxcomuTtegILde

领定odpsmaxcomouRe.otdai

odsentapiseshareBasic

Odaloninfod

被写入

OdAogInfod锁

OdPSMaXcOMPUTE-OLDEN

被写入

TPtUSERInfo.D

odsrowoqd锁

oOPSmAXCOmOUREOLDEV

OdeUSEinfod领

odpsmarcompute-gift.dey

割PUIRod领

odpsmaxcomoute_gitdev

资源

生产

ods-enterprise_share_basL.

微保服务

OWUSEUNTOAILO

通用

odACntEIPriGEChAreBASL

20281113915921856mt2610

自定义

ID280811388781555

选择浏览点击本地下载的计量明细数据,选择原始字符集为UTF-8,可以看到数据在数据预览中显示

image.png

数据导入向导

上传本地文件

选择数据导入方式:

选择文件:

只支持.xtcsv和llog文件类型

132938300454065120201130135409.omsdatac

浏览

选择分隔符:

逗号

原始字符集:

UTF8

导入起始行:

首行为标题:

数据顶货

由于数据量太大,只展示前100行和50列

357675

2020-11

5723.16

longma

0

065839

2901:1

Storage

xcomPu

534218

9:13

te

357675

上一步

下一步

取消


二、DataWorks的API的介绍和使用

2.1DataWorks的API的介绍

参考文档,其中有DataWorks的内容介绍以及对应的限制,目前DataWorks的企业版可以使用DataWorks的API功能

https://help.aliyun.com/document_detail/175553.html


对应使用的API为ListNodes

image.png

日返力园

AR品名

API调用

QWIO

运电中心

LiLNeiheHoe

5CLBDo以ELSOK

Gaibasclnicong

+国

理代

Owneto

INOCEE

去抗行手别

火乐辣默冬

aon

实起读用

运行的环境:包:1-vtlhon.

1作中白的ID

世城冯,西是院兴所古的.红几,忘

上日)星nshanha

cn-hAngsk,无Ngn会

时无的C中P通自幼扭G

Emparttonliqun.c1

3379--

无二人的ID.

Gealoot

latlapiclnmierce

Ttef.afRns.Fql.0afencfrof1le

1769代t22

OP9S0L

云纳关出

npartcopalma8

瓦吕机.

aptlicc1assL1stRones

image.png

三日

ListNodes

API调用

要新时间:2020-11-1717:38:09

超罚门试力实用用小卜心作

话aLsNodeS获放节点的列衣.

Regionldo

研试

王间试

可以tORwlEye帅_装行资门,怎北警咨各扰底功听,CHwmlegwe可以周生录K代示

POLeCLIDO

例1.

ProlectEnv

请求数

关型

示例佰

猫还

足凸彰选

名梯

OwTerd

stig

艺执行的播作,

Acion

LiSsINades

亚多品费

发用

运行的环拍,包指DEVFOPROD.

PROD

stnng

ProlecEnv

1234

工作空口9ID.

Long

Prorecila

时甲

示围代代码

地适三足装专听在的地伤,丛东

(上海)cn-shangma,毕北3(家口)足

sung

ReOionld

cn-zhangliakou,无孟写Regionld,会0店

间用的endpolnt自万料析.

inportcon.aliyuncs.Defaultacsclient;

IwportconalyuncIcsclient;

鱼宁人的ID,

stnng

193379*

importcom.aliyurcs.exceptions.clientExceotion;

Smportcom.aliyuncsecionsererExcPon;

inportcom.aiiyuncs.rofiie.Defauitprofi

业牙流堂的名称

testbizName

BizName

Sting

inportcomtoople.eson.6on;

Saportjava.ut1.*

ODPSSOL

一点的关型

ProgramType

suing

importcom.aliyunch.datanorkspublic.odl218

页有节

PageNumber

lntegar

pubiicelassListodes



2.2创建MaxCompute表,以便将DataWorks查询的数据插入到MaxCompute表中,并在DataWorks界面执行

createTABLE IF NOT EXISTS nodeItem(nodeId  BIGINT  COMMENT '节点ID',nodeName String COMMENT '节点名称',cronExpress String COMMENT 'cron表达式',schedulerType String COMMENT '调度类型',programType String COMMENT '节点类型',ownerId String  COMMENT '负责人ID',projectId BIGINT  COMMENT  '工作空间ID',repeatability Boolean COMMENT '是否可以重复运行',paramValues String COMMENT  '额外的参数',description String COMMENT '节点描述信息',resGroupName String COMMENT '资源组名称');


2.3编写对应逻辑的执行代码

其中参考的MaxCompute的SDK文档为https://help.aliyun.com/document_detail/27844.html

其中如何获取项目空间的projectID:

进入DataWorks的控制台,点击工作空间配置

image.png

三订企出出店日2020于12月18日

灯尖电区

蛋重华市市1拼阳阳妇

定工作F间

百出员

业巴黄间

通成中超次制空中心心

2018年8月29日14291

进入数白地弘人入道阳

工作旺三80出赔

上村利网车版试

共i页

点击更多设置

image.png

工作空间配置

基本信息

MaxComputegit

工作空间名称

上传下载速率测试

显示名

标准模式(开发跟生产隔离)

模式

上传下载速率测试

猫述

高级设置

on

*启动调度周期

*能下载Selec结果

关闭

更多设置

可以查看到左上角工作空间的ID

image.png

配置

手本三性

工作空向ID:

凯日期:2019-092914:39:17

梅式:标佳旧式

工变空国名:ManComorteoiR

状考正品

负专人:

述:上传下就连品财试

示名:上传下五评品训试

调京三性

启用户期度:

默认出出自动三和次效:3

默认记度资讯组:

公共购供货组

认装成汽通组:

认出节自动三宾时动可府:2分钟

安能使成减认公共到药用

安全设言

尤汗子账马安更自己的节点夫任人:

成下式化华杀:

为能三名单月shel务河以ID地社家名):

IPI址L


代码逻辑

packagecom.git.cost;
importcom.aliyuncs.DefaultAcsClient;
importcom.aliyuncs.IAcsClient;
importcom.aliyuncs.dataworks_public.model.v20200518.ListNodesRequest;
importcom.aliyuncs.dataworks_public.model.v20200518.ListNodesResponse;
importcom.aliyuncs.exceptions.ClientException;
importcom.aliyuncs.exceptions.ServerException;
importcom.aliyuncs.profile.DefaultProfile;
importcom.google.gson.Gson;
importjava.io.IOException;
importjava.util.Date;
importcom.aliyun.odps.Column;
importcom.aliyun.odps.Odps;
importcom.aliyun.odps.PartitionSpec;
importcom.aliyun.odps.TableSchema;
importcom.aliyun.odps.account.Account;
importcom.aliyun.odps.account.AliyunAccount;
importcom.aliyun.odps.data.Record;
importcom.aliyun.odps.data.RecordWriter;
importcom.aliyun.odps.tunnel.TableTunnel;
importcom.aliyun.odps.tunnel.TunnelException;
importcom.aliyun.odps.tunnel.TableTunnel.UploadSession;
importjava.util.List;
importjava.util.Map;
publicclassGetOrderDetail {
privatestaticStringaccessId="";
privatestaticStringaccessKey="";
privatestaticStringodpsUrl="http://service.odps.aliyun.com/api";
privatestaticStringtunnelUrl="http://dt.cn-shanghai.maxcompute.aliyun.com";
//默认情况下,使用公网进行传输。如果需要通过内网进行数据传输,必须设置tunnelUrl变量。//此处取值为华东2经典网络Tunnel Endpoint。privatestaticStringproject="";
privatestaticStringtable="nodeItem";
privatestaticList<ListNodesResponse.Data.NodesItem>dataList;
publicstaticvoidmain(String[] args) {
DefaultProfileprofile=DefaultProfile.getProfile(
"cn-shanghai",
"",// 您的AccessKeyID。"");// 您的AccessKeySecret。IAcsClientclient=newDefaultAcsClient(profile);
/*获取指定业务流程的节点*/ListNodesRequestrequestListNode=newListNodesRequest();
requestListNode.setRegionId("cn-shanghai");
//project的IDrequestListNode.setProjectId();   
requestListNode.setProjectEnv("PROD");
//业务流程的名称requestListNode.setBizName("workshop_git");
try {
ListNodesResponseresponse=client.getAcsResponse(requestListNode);
dataList=response.getData().getNodes();
System.out.println(newGson().toJson(dataList));
        } catch (ServerExceptione) {
e.printStackTrace();
        } catch (ClientExceptione) {
System.out.println("ErrCode:"+e.getErrCode());
System.out.println("ErrMsg:"+e.getErrMsg());
System.out.println("RequestId:"+e.getRequestId());
        }
// 该部分为准备工作,仅需执行一次。Accountaccount=newAliyunAccount(accessId, accessKey);
Odpsodps=newOdps(account);
odps.setEndpoint(odpsUrl);
odps.setDefaultProject(project);
try {
TableTunneltunnel=newTableTunnel(odps);
tunnel.setEndpoint(tunnelUrl);
UploadSessionuploadSession=tunnel.createUploadSession(project, table);
System.out.println("Session Status is : "+uploadSession.getStatus().toString());
TableSchemaschema=uploadSession.getSchema();
RecordWriterrecordWriter=uploadSession.openRecordWriter(0);
Recordrecord=uploadSession.newRecord();
for (inti=0; i<dataList.size(); i++) {
System.out.println(i);
record.set("nodeId".toLowerCase(),dataList.get(i).getNodeId());
record.set("nodeName".toLowerCase(),dataList.get(i).getNodeName());
record.set("cronExpress".toLowerCase(),dataList.get(i).getCronExpress());
record.set("schedulerType".toLowerCase(),dataList.get(i).getSchedulerType());
record.set("programType".toLowerCase(),dataList.get(i).getProgramType());
record.set("ownerId".toLowerCase(),dataList.get(i).getOwnerId());
record.set("projectId".toLowerCase(),dataList.get(i).getProjectId());
record.set("repeatability".toLowerCase(),dataList.get(i).getRepeatability());
record.set("paramValues".toLowerCase(),dataList.get(i).getParamValues());
record.set("description".toLowerCase(),dataList.get(i).getDescription());
record.set("resGroupName".toLowerCase(),dataList.get(i).getResGroupName());
recordWriter.write(record);
            }
recordWriter.close();
uploadSession.commit(newLong[]{0L});
System.out.println("upload success!");
        } catch (TunnelExceptione) {
e.printStackTrace();
        } catch (IOExceptione) {
e.printStackTrace();
        }
    }
}

2.4进入DataWorks界面可以查看到数据以及写入到MaxCompute的表中

image.png

selectfronnodeitcm;

运疗日志

杭果图

杭郑间]

杭门

OdLCOpe

TOpcRTdt门y

POROC

TE-sgrOLPNOME

PIOGFOMTYDE

TCPOTRAR

paFnMwpLuco

Goncqprc65

OOPSSOL

002300**7

NCPMAL

1329383004510651102672

ooPss0L

NORMAL

dwEcInTO_aILD002700?

4700003742069

NORMA

002800**7

mu

002700*5?

NORMN

0s东业书点

1329383004540651102672

NORMA

13203839004540651102672

002200**

NORMA

WOK寸NOP-SIO

700003742997

三、在DataWorks通过SQL任务计算得出整个业务流程的消费情况


3.1统计整个业务流程的消费情况

各个类型任务的计费方法:

https://help.aliyun.com/document_detail/112752.html


应为本次使用的业务流程为3个SQL任务,是使用标准版的MaxCompute的SQL作业,因此选择的计费公式如下


image.png

SQL关键字个数小于等于3,复杂度为1.

SQL关键字个数小于等于6,且大于等于4,复杂度

为1.5.

SQL关键字个数小于等于19,且大于等于7,复杂

度为2

使用标准版

计算输入数据量XSQL复杂度x单价

SQL关键字个数大于等于20,复杂度为4.

MaxCompute服

(0.3元/GB)

务的SQL作业

说明如果SQL关键字个数远高于20,会导致解

析消耗大量时间,且作业长期处于排队状态,

建议您优化SQL,控制SQL关键字个数.


执行统计的SQL语句

SELECT  sum(            CAST(ComputationSqlInput ASDOUBLE)/1024/1024/1024*ComputationSqlComplexity*0.3)AS sumcost
FROM    odpsfee
WHERE   projectid ='maxcompute_git'AND     starttime >'2020-11-30'AND     TYPE !='Storage'AND     dataworksid IN(SELECT nodeid FROM nodeItem);

在DataWorks执行得出最后的结果

image.png

Selectfromnodeitem

地心心地地心心

Time2820-11-30

块主1

总结:

本文使用的方案,在其中使用的时候要注意几点:

1.如果在使用企业版DataWorks的API测试时,出现权限错误,需要提工单开通DataWorks的API功能。

2.在使用时要注意计算的类型以及计算方式,将本文的实践代码略作修改,另外统计时也要关注各个字段的单位,以及数据类型方便最后的统计计算。

3.要仔细查看对应的文档介绍,熟悉其使用方法以及对应的参数设置。

欢迎加入“MaxCompute开发者社区2群”,点击链接申请加入或扫描二维码

https://h5.dingtalk.com/invite-page/index.html?bizSource=____source____&corpId=dingb682fb31ec15e09f35c2f4657eb6378f&inviterUid=E3F28CD2308408A8&encodeDeptId=0054DC2B53AFE745

image.png

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
22天前
|
存储 监控 NoSQL
Redis HyperLogLog: 高效统计大数据集的神秘利器
Redis HyperLogLog: 高效统计大数据集的神秘利器
|
7月前
|
SQL 存储 分布式计算
MaxCompute元数据使用实践--项目信息统计
MaxCompute的租户级别Information Schema从租户角度提供项目元数据及使用历史数据等信息,您可以一次性拉取您同一个元数据中心下所有Project的某类元数据,从而进行各类元数据的统计分析。
488 0
|
4月前
|
分布式计算 Hadoop 大数据
【云计算与大数据计算】Hadoop MapReduce实战之统计每个单词出现次数、单词平均长度、Grep(附源码 )
【云计算与大数据计算】Hadoop MapReduce实战之统计每个单词出现次数、单词平均长度、Grep(附源码 )
151 0
|
4月前
|
分布式计算 项目管理 MaxCompute
MaxCompute元数据使用实践--数据权限统计
本文主要介绍通过元数据的相关权限的视图进行数据权限的统计。
101492 2
|
6月前
|
SQL 分布式计算 DataWorks
MaxCompute元数据使用实践--作业统计
通过MaxCompute租户级别Information Schema的“TASKS_HISTORY”视图可以统计查看MaxCompute计算作业的元数据信息,方便您进行作业审计以及各类统计,指导作业性能、成本优化。
1207 0
|
7月前
|
大数据 双11 流计算
大数据Flink实时大屏统计
大数据Flink实时大屏统计
172 0
|
7月前
|
分布式计算 资源调度 Java
大数据MapReduce统计单词实例
大数据MapReduce统计单词实例
181 0
|
8月前
|
存储 SQL 分布式计算
MaxCompute发布按量付费闲时版,计算成本最高节省66.66%!
在大数据不断在追求计算效率和成本优化的背景下,阿里云云原生大数据计算服务 MaxCompute宣布推出按量付费闲时版,用户可选择用此版本完成时间不敏感的作业,从而降低计算成本,同等作业类型的计算费用与按量付费标准版相比,最高可实现66.66%的计算成本优化。
282 1
|
10月前
|
消息中间件 存储 分布式计算
【大数据学习篇11】广告点击流实时统计
【大数据学习篇11】广告点击流实时统计
256 0
【大数据学习篇11】广告点击流实时统计
|
10月前
|
SQL JSON 分布式计算
【大数据学习篇10】Spark项目实战~网站转化率统计
【大数据学习篇10】Spark项目实战~网站转化率统计
411 0
【大数据学习篇10】Spark项目实战~网站转化率统计

相关产品

  • 云原生大数据计算服务 MaxCompute