更新时间:2022-09-02 10:01:16
对于经常从事数据开发工作的同学而言,阿里巴巴大数据研发平台Dataworks应该都比较熟悉,作为集大数据设计开发、运维监控、数据安全、数据质量管理,以及数据应用构建等全方位能力为一体的的一站式数据研发生态平台,Dataworks极大提升了数据开发工作的效率。而数据集成作为Dataworks生态系统内的子系统,为大数据综合治理解决方案提供底层数据链路支持,以其稳定高效、弹性可扩展的数据同步能力,目前已经广泛应用与集团内、公共云、专有云的各种数据同步场景。
通常来说,数据集成服务的业务场景如下
基于这些业务场景,数据集成一直以来都扮演着数据搬运工的角色,为各种各样的数据同步需求提供了强大高效的一站式解决方案。
但对于很多数据开发工作而言,将数据从源端同步到目标端只是完成了整个数据开发链路中的一个环节。限于数据集成以往仅支持数据读写的能力,如果需要对同步的源数据进行一些数据过滤、简单逻辑加工或者数据增强等一些数据处理操作,除非源数据存储系统支持,否则只能先将源原始数据全量同步到目标存储系统,再利用目标系统的能力进行数据加工。这就增加了数据开发工作的复杂度,也降低了数据处理链路的时效。
举一个例子,oss上的大量数据要同步到Mysql做在线查询,同时期望对原始数据进行一些数据过滤和简单加工。
有上可见,为了完成这样的数据开发需求,用户需要开发数据同步,SQL处理等两种任务、三个节点,开发成本高。而在任务执行时,则是顺序依赖的运行三个任务节点,数据同步+处理的效率很差且运行成本也很高。
为了提供给用户更好的数据开发体验,降低用户进行数据同步、上云、以及处理的链路成本,全域数据集成应运而生。
全域数据集成的目标是提供用户一站式的数据同步和数据处理的能力,允许用户在数据集成界面上通过简单高效的一站式操作完成这样的数据开发和运维工作,且能有效降低运行成本。
如上图示,全域数据集成的大体组成如下
数据同步和处理过程
全域数据集成在以往数据集成开发界面的基础上,增加了数据处理开发模块。全域数据集成整体界面构成如下:
同步策略模块
在同步策略模块,激活“进行数据处理”开关时即进入到数据处理开发模式,界面如下:
全域数据集成基于Flink的强大计算能力进行数据处理,在处理逻辑开发层,将Flink SQL的基本API封装成可视化的DAG算子,以DAG组件托拉拽、组件参数配置、组件连线的方式进行数据处理逻辑开发。
目前提供9种数据处理组件用于数据加工,同时数据源表组件支持用户在同步源表数据过程中join其他表数据做数据增强,数据目标表支持用户在将数据结果到同步到目标存储系统的同时,多路输出到其他表
从列映射模式首次切换到数据处理模式时,默认展示源头表和目标表两个节点,用于配置需要同步的字段。从组件面板拖拽数据处理组件、配置组件以进行处理逻辑开发,如下图示:
DAG模式支持处理逻辑实时检查,及时提醒节点以及DAG任务配置的正确性,如果节点配置有错误(如图节点上的红叉),右击节点选择“查看错误提示”可以查看错误详情。
当DAG图中的所有节点均配置正确,即完成了全域数据集成任务的开发。
通过以上方式,全域数据集成以DAG组件模式提供了用户一站式开发数据同步和数据处理任务的能力
发布运维
实际执行
全域数据集成的整体目标是提供一站式的数据同步+数据处理的能力。目前一期功能作为先期探索,已经实现了批数据一站式同步和处理的能力,打破了数据集成原有的功能边界,也降低了用户的数据同步、上云以及处理的整体成本,未来为实现全域数据集成能力全面、轻便易用、成本集约的整体目标,会在以下几个方面继续努力: