本案例是基于阿里云上的DataHub收集营销数据,并通过MaxCompute对营销数据进行分析。下面主要介绍如何用DataHub收集营销数据,以及在MaxCompute中如何对数据进行分析。
1 DataHub采集数据
阿里云的datahub提供了接口可将项目中产生的数据同步到Datahub中,并实时同步到MaxCompute项目对应的表中。下面介绍如何利用DataHub收集数据。
1.1 创建项目
DataHub地址为https://datahub.console.aliyun.com/datahub。页面如下:
点击创建project按钮,可创建项目,窗口如下:
输入名称和描述之后点击创建可新建一个项目,刷新后会出现在项目列表中。点击查看可设置项目的各种信息。
1.2 创建Topic
点击项目后的查看按钮,进入如下页面:
创建Topic设置同步数据到MaxCompute的数据表中。点击创建Topic,弹出页面如下:
有两种创建方式,直接创建和导入MaxCompute表结构。第一种方式需要自己填写表结构,比较麻烦,如果在MaxCompute中已经创建好了表,推荐使用导入MaxCompute表结构。按提示填写完信息即可创建成功(提示:备注也要写,否则创建按钮不可点击)。创建完成后会出现在Topic列表中。
此时在DataHub中的配置已经完成,点击Topic后面的查看可查看配置的各种信息。如下图:
点击第二张图片Connectors中的查看,弹出如下页面:
重启归档和暂停归档可设置是否将DataHub中的数据同步到MaxCompute中。
注:创建Topic的时候会设置生命周期,如生命周期为三天,表示DataHub只保存三天的数据。超过三天的数据会被删除,且不可恢复。因此需经常看看DataHub是否因未知的原因而归档失败了。因为当归档失败时,DataHub没有失败自动重启的功能,此时会一直处于失败状态,数据无法归档到MaxCompute中,超过三天数据会丢失(也可将生命周期设置的长一些)。
1.3 数据采集
DataHub中提供了很多工具将本地项目中的数据同步到DataHub中。提供的工具如下:
点击需要用的工具即可进入帮助文档页面,按帮助文档的步骤进行操作即可。
2 利用MaxCompute进行数据分析
用MaxCompute进行数据分析,首先需要创建odps项目,其产品名如下:
创建成功后的页面如下:
点击项目列表中的项目名即可进入项目空间(需操作不同项目空间的表需要再表前加上项目名,用“.”连接)。项目空间如下:
任务开发:可创建一些定时任务,定时运行一些数据同步任务、机器学习实验、Sql语句等。
脚本开发:可写一些Sql语句对项目空间的表进行分析。
函数管理:提供了一些系统自带的函数。
表查询:可查看MaxCompute中的所有表,查看表结构及预览部分数据。
下面介绍一下本案例的营销报告所做的工作,主要是新建一个任务,在任务中添加一些sql语句节点,定时每天跑这些任务。
2.1 创建任务
点击新建,出现如下页面:
点击新建任务,出现如下页面:
分为工作流任务和节点任务,节点任务有如图所示的几种任务类型,顾名思义,节点任务就是只能执行一种任务类型的一个任务。而工作流任务是将节点任务连接成一个工作流,可让多个节点任务一起执行。我们这里创建工作流任务,其页面如下:
创建成功后的页面如下:
左边提供了节点组件。本案例的营销报告工作流如下:
鼠标选择节点组件,点击右键会出现设置节点信息的菜单,如下:
任务配置完成后,可在右边的调度配置中配置调度信息,如下:
各种信息都设置后之后,点击菜单栏中的保存、提交即可定时执行任务,菜单栏如下:
其中,测试运行可测试任务配置的是否有问题。
2.2 同步数据到RDS数据库
用MaxCompute平台分析后的数据可同步存放到RDS数据库中,然后在本地项目即可获取分析结果。
2.2.1 新建数据源
同步数据到RDS中需要新建数据源,将MaxCompute的项目与RDS数据库连通起来。数据源在数据集成中创建,页面如下:
点击新建数据源按提示创建即可。
2.2.2 创建数据同步任务
在MaxCompute的项目空间中新建任务,如下:
此时任务类型选择数据同步。之后按提示填写即可。
3 总结
本案例是利用DataHub采集营销数据,然后利用MaxCompute对数据定时进行分析,然后同步到RDS数据库中,供本地项目获取结果。
#MaxCompute最佳实践#