1.前言
首先来介绍一下要评测的产品和宏哥的基本信息。
1.1个人基本信息
宏哥是一名测试开发工程师,平时主要负责的测试和一些测试工具的开发任务。所以接下来主要是从测试和开发的两个角度来评测一下这款产品。
1.2产品介绍
Dataphin是阿里巴巴集团OneData数据治理方法论内部实践的云化输出,一站式提供数据采、建、管、用全生命周期的大数据能力,以助力企业显著提升数据治理水平,构建质量可靠、消费便捷、生产安全经济的企业级数据中台。Dataphin提供多种计算平台支持及可拓展的开放能力,以适应各行业企业的平台技术架构和特定诉求。
好了,到此对产品和宏哥也有了初步了解,接下来按照评测要求跟随宏哥一起来体验一下这款产品并提出一些个人愚见,有兴趣的也可以自己体验一下。毕竟:纸上得来终觉浅,绝知此事要躬行。
2.体验产品
按照评测要求官方提供了使用 Dataphin进行数据处理的最佳实践,主要有以下七个步骤,具体实操步骤如下:
2.1开通Dataphin免费试用并准备MaxCompute环境(建议选择和Dataphin同一个地域)
2.1.1开通Dataphin免费试用
1.访问阿里云产品智能数据建设与治理Dataphin,如下图所示:
2.点击“免费试用”按钮,即可开通Dataphin免费试用,如下图所示:
3.点击“免费试用”按钮后,进入试用页面,点击“立即试用”,如下图所示:
2.1.2准备MaxCompute环境
1.同样访问阿里云产品MaxCompute,如下图所示:
2.点击“免费试用”按钮,即可开通MaxCompute免费试用,如下图所示:
3.点击“免费试用”按钮后,进入试用页面,点击“立即试用”,如下图所示:
2.2创建Dataphin项目,并初始化MaxCompute资源
开通好Dataphin免费试用并准备好MaxCompute环境后,开始创建Dataphin项目,并初始化MaxCompute资源,操作步骤如下:
2.2.1创建Dataphin数据板块
1.按照操作手册首先要创建一个数据板块,但是按照评测要求是创建项目,不知道这个数据板块有啥作用。。。那就按照手册来吧,登录Dataphin控制台,选择和Dataphin同一个地域,单击进入Dataphin>>,进入Dataphin首页。
2.在Dataphin首页,单击顶部菜单栏的规划,依次单击数据架构-新建数据板块,进入新建数据板块对话框。如下图所示:
3.在生产开发类型步骤中选择Basic模式并单击“下一步”按钮。如下图所示:
4.在新建数据板块对话框中,配置板块的基础信息与业务信息(按照手册,都有详细说明)。参数配置完成后,单击“确定”按钮即可。如下图所示:
2.2.2初始化MaxComputer资源
1.在Dataphin首页,依次单击计算源-新增计算源-选择MaxCompute计算源,进入新建计算源页面。如下图所示:
2.在新建计算源页面中,配置参数,配置完成后,单击校验并提交,完成项目计算源的创建。如下图所示:
2.2.3创建Dataphin项目
1.在Dataphin首页,依次单击项目管理-新建通用项目,进入新建项目对话框。如下图所示:
2.在生产开发类型步骤中选择Basic模式后,单击“下一步”按钮。如下图所示:
3.在项目新建页面中,配置归属板块、基本信息、业务信息、安全设置、更多设置(按照手册配置)。配置完成后,单击“确定”按钮,完成项目的创建。如下图所示:
2.3创建及开发离线管道任务
2.3.1创建离线管道开发脚本
1.在Dataphin首页,单击顶部菜单栏的研发。
2.依次单击集成-选择dataphin_trail_tutorial项目-单击离线集成-单击创建image图标-单击离线管道,进入创建管道开发脚本对话框。如下图所示:
3.在创建管道开发脚本对话框中,配置参数(按手册)。配置完成后单击“确定”,完成管道开发脚本的创建。如下图所示
2.3.2开发离线管道脚本
1.在离线单条管道开发页面,单击组件库-输入-将本地文件输入组件拖至管道画布中,再单击输出-将MaxCompute输出组件拖至管道画布中,单击连接图标,将本地文件输入组件和MaxCompute输出组件进行连接。如下图所示:
2.单击组件的配置图标,配置本地文件输入组件和MaxCompute输出组件。
3.单击“确定”,完成组件配置。
2.3.3运行和提交离线管道脚本
1.配置完成,点击“保存”后,需要单击左上角的运行按钮,将数据同步至Dataphin中。运行成功后,单击页面右上方的提交图标,提交管道脚本。如下图所示:
2.4数据处理任务开发
2.4.1新建物理表
1.在Dataphin首页,单击顶部菜单栏的研发。
2.依次单击开发-选择dataphin_trail_tutorial项目-单击表管理-单击创建图标,进入新建物理表对话框。如下图所示:
3.在新建物理表对话框中,配置相关参数后,单击“确定”按钮,如下图所示:
4.在物理表详情页面,单击右上角的从建表语句引入,输入下方SQL代码,单击解析SQL,勾选buyer_id、discount_rate字段后,单击添加,最后单击提交,在提交对话框中,单击确定并提交,完成buyer_discount_rate的创建。 如下图所示:
create table buyer_discount_rate
(
buyer_id string comment '顾客ID',
discount_rate string comment '折扣率'
) comment '过去一年每位顾客的平均折扣率'
AI 代码解读
2.4.2新建计算任务
1.依次单击开发-选择dataphin_trail_tutorial项目-单击计算任务-单击创建image图标-单击MAX_COMPUTE_SQL,进入新建MAX_COMPUTE_SQL任务对话框。如下图所示:
2.在新建MAX_COMPUTE_SQL任务对话框中,配置相关参数(按手册)后,单击“确定”按钮。如下图所示:
3.在代码编辑器页面,输入下方SQL代码并单击保存。
INSERT OVERWRITE TABLE buyer_discount_rate
--计算过去一年每位顾客的平均折扣
select format_number(buyer_id,'#') as buyer_id
,concat(cast(format_number(discount_amount / total_amount*100,'#.##') as string),'%') as discount_rate
from (
select buyer_id
,sum(discount_amount) as discount_amount
,sum(total_amount) as total_amount
from order
where replace(substr(end_time , 1 , 10) , '/' , '') >= '${bizdate-365}' --时间范围为过去一年
and status <> -1 --订单状态去除'已取消'
group by buyer_id
) a
AI 代码解读
4.保存后,单击预编译,在参数填写对话框中,运行值输入${yyyymmdd-365},单击确定,检查代码的合法性。如下图所示:
5.在代码编辑器页面,单击右侧菜单栏的属性,在运行参数和调度依赖区域配置参数。
6.配置完成后,单击“确定”按钮,其他配置保持系统默认设置。
2.4.2运行和提交SQL计算任务
1.单击左上角的运行按钮,运行过去一年每位顾客的平均折扣的脚本。运行成功后,单击页面右上方的提交图标,提交SQL计算任务。
2.5周期补数据
1.在Dataphin首页,单击顶部菜单栏的研发。
2.依次单击运维-选择dataphin_trail_tutorial项目-单击周期任务-选择过去一年每位顾客的平均折扣任务-单击操作列下的image图标-单击补数据-选择补当前任务进行补数据。如下图所示:
3.在补数据 - 补当前任务对话框中,配置参数(按手册)。配置完成后,单击确定,完成过去一年每位顾客的平均折扣任务补数据。如下图所示:
4.补数据提交后,可以在补数据实例-已提交实例列表查看补数据状态。如下图所示:
2.6即席分析验证数据
2.6.1验证数据
1.在Dataphin首页,单击顶部菜单栏的研发。
2.依次单击开发-选择dataphin_trail_tutorial项目-单击即席查询-单击创建image图标-单击MAX_COMPUTE_SQL,进入新建即席查询对话框。如下图所示:
3.在新建即席查询对话框中,配置参数。配置完成后,单击确定,完成即席查询的创建。如下图所示:
4.在代码编写页面,编写代码并验证数据是否符合预期。编写以下命令,保存后单击页面上方的运行,验证过去一年每位顾客的平均折扣补数据任务是否同步成功。
SELECT * FROM buyer_discount_rate;
AI 代码解读
2.7利用仓内的数据进行数据分析
1.在Dataphin首页,单击顶部菜单栏的分析。
2.依次单击Notebook-创建图标,进入新建Notebook对话框。如下图所示
3.在新建Notebook对话框中,填写Notebook名称,单击“确定”按钮。如下图所示
4.在数据分析页签,在右上角选择dataphin_trail_tutorial项目,并输入下方代码,运行后,单击分析image图标,X轴选择buyer_id,Y轴选择discount_rate,即可对buyer_discount_rate表进行可视化分析。
SELECT buyer_id, cast(split_part(discount_rate, '%', 1)as BIGINT )/100 as discount_rate from buyer_discount_rate;
AI 代码解读
以上步骤完成,就按要求完成了Dataphin进行数据处理,接下来说一下自己体验感受。
3.评测报告
作为一名测试开发工程师,我们都知道测试用例怎么写吧!说实话虽然按照官方手册磕磕碰碰的走下来了,但是还是不知道这款产品预期处理数据和实际数据处理的结果是否一致,而且也有点懵,不知道到底有啥用处,业务流程也不是很清晰。想必大家都有这样的感受吧,可能是第一次用吧。
3.1开通Dataphin免费试用并准备MaxCompute环境
1.开通Dataphin免费试用并准备MaxCompute环境的操作简洁,应该是吸取前边产品免费试用复杂的开通流程和配置,这次免费试用的开通基本上说:虽然有些基本操作步骤,但是基本达到一键开通,希望继续努力向这个方向靠拢。
3.2创建Dataphin项目,并初始化MaxCompute资源
1.创建Dataphin项目,并初始化MaxCompute资源也比较简单,但是手册中首先要创建一个数据板块,和评测要求的步骤,有些出入,不知道这个数据板块具体作用是啥。
2.逻辑表命名规范,手册没有提到要注意事项,由于时间关系只能默认。无形中增加了用户的学习成本和时间。
3.3创建及开发离线管道任务
1.离线管道是阿里云Dataphin中用于处理离线数据集成任务的一种方式。这样做的好处是:它通过一条管道脚本,可以将一个或多个来源数据源中的单表或多表同步到一个或多个目标数据源中。这种方法非常适合需要定期执行的数据同步任务,同时也支持手动触发的任务。对于有海量数据要同步的企业就可以选择在夜深人静的时候,悄悄地同步,而在用户使用高峰期不再同步。节省资源的同时也提高了用户的体验。
3.4数据处理任务开发
1.按照手册操作还是顺利的,但是对于不会SQL脚本的用户就不是很友好了,建议加入AI助手,让其帮助写,或者提供一些常用的SQL语句脚本。不然不会的用户只能到处查资料或者去问人了,否则就会无从下手。
3.5周期补数据
1.通过该功能,可以对指定的历史业务日期内的数据进行重新计算或补充,确保数据的准确性和完整性。可以有效地管理和维护阿里云周期任务的数据完整性,确保数据的准确性和一致性,这个非常有用,之前测试过程中,总是会遇到历史数据处理的各种头疼问题。数据少还好,数据多就特麻烦费时费事费力。
3.6即席分析验证数据
1.可以有效地利用即席分析功能来验证Dataphin项目中各个阶段的数据处理效果,从而保证最终输出的数据准确无误。而且如果最终输出有误,排查起来也非常容易。
2.结合AI技术如文本生成服务。
3.7利用仓内的数据进行数据分析
1.结合AI技术如文本生成服务,还可以进一步增强数据分析的能力,使得整个流程更加智能化。
最后:新手引导:虽然提供了新手引导,但对于初次使用Dataphin的用户来说,可能需要更详细的引导和示例,以帮助他们更快地上手。要注意实时更新手册和校验手册中的一些描述和产品界面是否一致。