阅读 89

DataWorks实战2-业务流程的模块规划

数据仓库主要包含数据集成、数据计算、数据服务、数据质量、数据资产等模块。在数仓建设中,对数据开发者说最主要工作在数据集成和数据计算,这2块在Dataworks中都需要创建业务流程完成。正如一般流程开发一样,杂乱的业务流程会导致后期维护困难,如何规范业务流程的模块化,可以从以下几个点考虑:

1、数据通用角度。数仓的表分为维度表和事实表,维度作为度量的环境,在数仓中是一份基础的通用数据,一旦前期的维度表字段规划好后基本不会发生变化。

2、流程功能角度。业务流程从功能上可以分为数据集成、数据计算等。数据集成可以从接入方式、接入方法、接入周期、合并方式、合并方法、合并周期等角度去诠释,数据计算可以从数据域、业务过程等角度去诠释。

3、任务发布角度。Dataworks里的业务流程里需要配置"流程参数",该流程参数是作用于业务流程全局的,一旦发生修改,业务流程下的所有"数据任务"都需要全部提交,造成很多业务节点被动上线,加大任务审核人员的工作量。

基于以上考虑及实际工作实践,将业务流程划分为3大模块,并纳入到实际解决方案中:

1、公共维度

2、数据计算(按数据域划分)

3、数据集成

实际Dataworks界面大致如下:

    1、公共维度:包含所有维度表的计算流程。解决方案中也命名为"公共维度"。

    2、数据计算:{数据域}_{业务需求}。相同{数据域}的数据计算流程归入同一解决方案中,解决方案命名为{数据域}。

    3、数据集成:分为数据同步、数据合并。一般使用binlog日志+首次直连全量同步方式完成数据同步,再通过增量数据+全量数据合并的方式完成数据合并。解决方案中也命名为"数据集成"。

数据同步:源端数据库数据通过binlog或直连的方式,数据同步到数仓,

命名:{数据同步}_{同步方式}_{接入方式}_{同步频度}_[同步工具]。

同步方式:增量、全量。

接入方式:RI(实时接入)、DI(离线接入)。

同步频度:小时、天。

同步工具:DW(Dataworks)、DTS等。

数据同步_全量_DI_DW:一般只有首次通过离线方式完成数据的全量同步到数仓,同步完毕后会将任务调度改为暂停。后续发生数据不一致时作为备用方案使用。

数据同步_增量_DI_小时_DW:通过离线接入增量日志,将离线日志接入到"小时分区"中。

数据同步_增量_RI_小时_DW:通过实时接入binlog日志,将binlog日志接入到"小时"分区中。

数据同步_增量_DI_天_DW、数据同步_增量_RI_天_DW:理论上也可以有这2类业务流程,但从扩展性来说小时的增量同步后期扩展性更强,建议不存在这类业务流程。

数据合并:将MaxCompute中的增量表、全量表按小时、天合并到全量表最新的分区里。

命名: {数据合并}_{同步方式}_{同步频度}

数据合并_增量_天:适合全量按天分区表。

数据合并_增量_小时:适合全量按小时分区表。



喜欢的朋友请帮忙点赞,谢谢大家!

作者:子沐然

原文链接:https://www.jianshu.com/p/ef9b2e89979d

文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐