数据源、中间库、目的库均为MySql,ETL工具为kettle(General Availability Release-Version 6.0.1.0-386)
2.我的方案如下:
2.1暂定源表到目的表不做任何清洗(如字段脱敏打星处理,字典映射M替换成男等)。
2.2新建一张etl_log表,一张stage表,一张目的表dest。dest、stage表与源表表结构一致。
etl_log建表语句:
CREATE TABLE `etl_log` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`procedure_name` varchar(32) DEFAULT NULL COMMENT '调用过程名称 (扩展字段,用于存储过程走ETL的方案)',
`updated_count` int(11) DEFAULT NULL COMMENT '更新数据条数',
`begin_time` datetime DEFAULT NULL COMMENT '开始加载时间',
`end_time` datetime DEFAULT NULL COMMENT '结束加载时间',
`cost_dur` varchar(32) DEFAULT NULL COMMENT '加载时间(秒)',
`updated_time` datetime DEFAULT NULL COMMENT '本次同步中源头表最大的更新时间',
`table_name` varchar(32) DEFAULT NULL COMMENT '同步的主要表名(可为空,或者多个以,分隔)',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='etl日志表';
2.3