浅谈ETL架构中ODS的作用以及如何在HaoheDI中自动创建ODS表 (2)

对于某些没有时间戳的维度表、代码表,其对应的ODS表要如何设计呢?其实也和上边的表一样,只需要在源表的结构之前增加批次号等审计字段即可,比如用户信息表:

clipboard[1]

如果无法通过时间戳或操作日志来判断哪些用户信息发生了改变的话,则每次抽取数据时选择全量抽取,即将源表中的这个时点的数据全部抽到ODS表,由于每次的快照都已存储下来,虽然有较大的冗余,但却非常便于在后续的ETL中利用比对的方式来判断哪些数据发生了变化。如果数据量较大,也可以采用表分区的方式。

如何快速批量的创建ODS表?

源系统的数据库类型多种多样,其中的表成百上千,针对这么多需要抽取的源表,有什么简便的方式能快速生成对应这些源表的ODS表吗?HaoheDI提供了一个的功能可以快速生成这些表,操作步骤如下:

1、在数据连接中选择要生成ODS表的目标数据库(数据中心),点击创建ODS表按钮:

clipboard[2]

2、弹出页面后,点击“选择源表”,选择对应的源连接和源表。如图:选择源数据库LOCALMYSQL中的这6张源表作为在HYDW目标数据库中对应的ODS表的模板。

clipboard[3]

3、删减部分表中不必要的字段,这样在ODS表中将不会创建这个字段,默认是创建全部字段。

clipboard[4]

4、设置ODS表的命名规则,比如在源表名之前增加O_,也可以在表名之后添加后缀。

clipboard[5]

5、在自定义字段一栏中,选择要在ODS表中添加的审计字段:

clipboard[6]

示例:每个表都将创建三个审计字段,设定其名称、字段类型、字段长度以及创建位置,保存。

clipboard[7]

6、其它表如果各项设定相同则选择同上即可,按Ctrl键选择全部或部分表,点击创建ODS表按钮

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzwfxw.html