目前做的项目使用阿里 DataX 作为不同数据源数据同步的实现工具。数据的批量一次性导入比较简单,对于增量数据需要对不同场景设计不同的方案。
会变的数据增量同步
每天全量同步
如人员表、订单表一类的会发生变化的数据,根据数据仓库的4个特点里的反映历史变化的这个特点的要求,我们建议每天对数据进行全量同步。也就是说每天保存的都是数据的全量数据,这样历史的数据和当前的数据都可以很方便地获得。
设定日分区,每天同步全量数据。
--全量同步
create table ods_user_full(
uid bigint,
uname string,
deptno bigint,
gender string,
optime DATETIME
) partitioned by (ds string);
查询全量用 where 分区 语句 如 where ds = "2017-10-19"
每天增量同步
真实场景中因为某些特殊情况,需要每天只做增量同步。又因为目前流行的大数据平台都不支持 Update 语句进行修改数据,只能用其他方法来实现。
两个表,结果表和增量表,用 full outer join 合并 + insert overwrite(阿里巴巴大数据实践中阿里平台使用方案)

本文探讨了在大数据环境中,使用阿里DataX工具进行数据同步的两种策略:每天全量同步和每天增量同步。对于会变的数据,推荐每天全量同步以反映历史变化;而对于不变的数据,可通过日期分区实现增量insert。增量同步方法虽然数据量小,但可能引入数据不一致风险,通常在必要时使用。
最低0.47元/天 解锁文章
1536

被折叠的 条评论
为什么被折叠?



