一、前言
Dataphin 是阿里巴巴集团基于内部实践的 OneData 数据治理方法论 打造的一站式数据治理与建设平台,隶属于瓴羊(Alibaba Cloud’s Lingyang)的开发云产品体系。它旨在帮助企业构建 标准化、安全、高效 的企业级数据中台,覆盖数据从采集、建模、开发到应用的 全生命周期管理,助力企业提升数据治理水平,实现数据资产的可信、可消费与可复用。以下是其核心特点与功能:
1、 全链路数据治理
- 数据标准管理:定义统一的业务术语、指标规范(如命名规则、字段定义),确保数据一致性,避免“数据孤岛”。
- 数据质量管理:内置完整性、准确性、一致性等规则模板,支持自定义校验规则,实时监控数据质量并自动拦截异常数据(如空值、逻辑错误)。
- 数据安全:支持敏感数据脱敏、权限分级管控(如字段级权限),符合多行业合规要求。
2、 智能数据开发与建模
- 可视化建模:基于维度建模理论,提供拖拽式工具设计数据分层(ODS、DWD、DWS等),自动生成ETL代码(SQL、等),降低开发门槛。
- 智能调度与运维:统一管理任务调度(支持流批一体),结合数据血缘分析智能推荐依赖关系,提升运维效率。
3、 数据集成与开放
- 多源异构数据接入:支持40+数据源(如MySQL、API、日志等),提供批量/实时同步能力,实现数据全域汇聚。
- 数据服务化:通过API、数据门户等形式开放数据资产,支持跨部门协作与业务快速消费。
- 多计算引擎兼容:支持MaxCompute、hologres等主流引擎。
二、体验过程
1、准备环境和资源
1)访问阿里云免费试用。单击页面右上方的登录/注册按钮,成功登录后,在大数据计算下选择Dataphin
2)点击立即试用。等几分钟就可以了。
3)准备MaxCompute环境(建议选择和Dataphin同一个地域)
2、数仓规划
1)创建数据板块
在Dataphin首页,单击智能数仓规划,依次单击数据架构-新建数据板块,进入新建数据板块对话框。
在生产开发类型步骤中选择Basic模式并单击下一步。
创建成功。
2)创建MaxCompute计算源
单击计算源-新增计算源-选择MaxCompute计算源,进入新建计算源页面。
在新建计算源页面中,配置参数,配置完成后,单击校验并提交,完成项目计算源的创建。
需要重新创建一个maxcomputer资源。
3) 创建项目
单击项目管理-新建通用项目,进入新建项目对话框,
在生产开发类型步骤中选择Basic模式后,单击下一步。
在项目定义步骤中,配置归属板块、基本信息、业务信息、安全设置、更多设置。配置完成后,单击确定,完成项目的创建。
其中项目英文名、项目名称和MAXC的名字最好一致。
3、引入数据
1)创建管道开发脚本
在Dataphin首页,单击顶部菜单栏的研发。
依次单击集成-选择dataphin_trail_tutorial_12项目-单击离线集成-单击离线管道,进入创建管道开发脚本对话框。
在创建管道开发脚本对话框中,配置参数。配置完成后单击确定,完成管道开发脚本的创建。
2)开发离线管道脚本
在离线单条管道开发页面,单击组件库-输入-将本地文件输入组件拖至管道画布中,再单击输出-将MaxCompute输出组件拖至管道画布中,单击连接图标,将本地文件输入组件和MaxCompute输出组件进行连接。
单击组件的配置图标,配置本地文件输入组件。
总提示文件未上传成功。
配置MaxCompute输出组件。
3)运行和提交离线单条管道脚本
提交订单表集成。
提交失败。
咨询客服,原来系统出现bug。
待系统修复后,重新上传本地文件正常。然后点击保存运行。
运行成功提示。
点击提交管道脚本。
4)手动运行集成任务。
4、数据处理
1)新建物理表
单击开发-选择dataphin_trail_tutorial_12项目-单击表管理,进入新建物理表对话框。
在物理表详情页面,单击右上角的从建表语句引入,输入下方代码,单击解析SQL,勾选buyer_id、discount_rate字段后,单击添加,最后单击提交,在提交对话框中,单击确定并提交,完成buyer_discount_rate的创建。
进行存储配置,点击提交。
2)新建MAX_COMPUTE_SQL计算任务
单击计算任务-单击创建-单击MAX_COMPUTE_SQL,进入新建MAX_COMPUTE_SQL任务对话框。
在代码编辑器页面,输入下方代码并单击保存。
保存后,单击预编译,在参数填写对话框中,运行值输入${yyyymmdd-365},单击确定,检查代码的合法性。
提示预编译成功。
在代码编辑器页面,单击右侧菜单栏的属性,在运行参数和调度依赖区域配置参数。
单击自动解析,将添加的上游依赖生效关闭。然后再单击添加根节点按钮,将任务挂载到根节点。
3)运行和提交SQL计算任务
运行成功之后点击提交。
提交成功之后关闭。
5、周期任务补数据
在运维中单击周期任务-选择过去一年每位顾客的平均折扣任务-单击操作列下拉-单击补数据-选择补当前任务进行补数据。
在补数据 - 补当前任务对话框中,配置如下参数。配置完成后,单击确定,完成过去一年每位顾客的平均折扣任务补数据。
补数据提交后,可以在补数据实例-已提交实例列表查看补数据状态。
6、验证数据
单击开发-选单击即席查询-单击创建图标-单击MAX_COMPUTE_SQL,进入新建即席查询对话框。
在代码编写页面,编写代码并验证数据是否符合预期。编写以下命令,保存后单击页面上方的运行,验证过去一年每位顾客的平均折扣补数据任务是否同步成功。
SELECT * FROM buyer_discount_rate;
验证执行成功了,但没有出现数据,也没有报错,不知道什么原因。
7、数据分析
左上角三个横杠,选择资产应用分析——Notebook。
新建Notebook。
在数据分析页签,在右上角选择dataphin_trail_tutorial_12项目,并输入下方代码,运行后,单击分析图标,X轴选择buyer_id,Y轴选择discount_rate,即可对buyer_discount_rate表进行可视化分析。
还是没有成功。
8、排查问题
针对上述补数据不成功的问题,继续排查下MAX_COMPUTE_SQL计算任务。发现执行过程中的显示的时间是20240422。就是过去一年为20240422到20250422。
再去order的表中看下没有这部分的数据。
将补数据的业务往前调整一年。
再次验证数据就成功了。
数据分析中也可以展示了。
三、总结与体验反馈
1、测评总结
我作为开发运维工程师,平时工作涉及数据建设与治理类产品的使用,但此前对阿里云Dataphin的实践较少,主要依赖传统ETL工具和自建调度系统。
通过本次Dataphin离线数仓搭建全流程实践,我对Dataphin的 数据开发、任务调度、资产治理 功能有了清晰认知,但对 复杂任务资源规划等仍需进一步学习。
以下几个功能都比较好用。
1、离线管道任务:通过拖拽式界面快速配置数据源(如CSV文件、MaxCompute表)到目标表的ETL流程,支持字段映射和简单转换,降低了开发门槛。比较有用,解决了传统ETL工具中复杂的字段映射和转换配置问题。
2、周期性任务与调度依赖:能够直观配置任务的周期(如按日调度)和依赖关系(如任务A需在任务B完成后执行),依赖关系自动解析功能,减少了手动管理的复杂度。
3、补数据功能:支持选择历史业务日期范围进行数据回刷,且任务并行度可调,解决了数据回填的痛点。
4、即席分析与Notebook:通过SQL查询验证数据,并结合图表展示分析结果,提升了数据消费效率。
改进建议与产品期待:
1、日常有些文件是json格式,比如日志,是否可以支持本地文件导入json。
2、不使用按量计费的情况,是否能根据任务规模自动推荐MaxCompute资源规格,避免用户因配置不当导致成本浪费。
3、增加更多的计算源支持,之前还支持flink,现在只有两种了。
4、在体验过程中未了解到在数据处理时如何进行脱敏操作,这个是否以后会增加。
2、体验反馈
虽然整体来说过程并没有太复杂,但却也花了好几个小时。
1、第一次使用的时候遇到了bug,怀疑自己操作有问题,反复尝试后还是不行,咨询了客服才知道系统问题,看来系统的稳定性还需要加强哈。
2、使用样本数据,操作补数据后验证,一直没有数据,证明没有补成功,反复尝试后才发现,按操作手册中补当前日期的过去一年,但给的样本数据中就没有2024-2025的数据。所以调整补数据的业务日期之后就成功了。PS:这个样本数据需要更新了。
3、虽然整体不影响操作,但手册与现在的版本有很多地方就发生了变化,文档截图还是一年前的,希望官方更新下手册内容和配图。
4、还有些地方缺乏必要的截图说明操作后的结果。
5、还有在新建的buyer_discount_rate表为什么不直接使用double类型,前面order表已经改成了double类型。
6、手册中针对如何手动清除Dataphin资源没有写。