基于DataWorks构建数据中台

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

2020-11-23  本文已影响0人  子沐然

数据仓库主要包含数据集成、数据计算、数据服务、数据质量、数据资产等模块。在数仓建设中,对数据开发者说最主要工作在数据集成和数据计算,这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中的增量表、全量表按小时、天合并到全量表最新的分区里。

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

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

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


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

上一篇下一篇

猜你喜欢

热点阅读