实现并行操作。
②有人写FTP的程序,可以用BAT、ETL工具或其他的方式,总之要准确,而且方便调用和控制。
③有人设计数据模型,包括在1之后导出的结构。
④有人写SP,包括ETL中需要用到的SP和日常维护系统的SP,比如检查数据质量之类的。
⑤有人分析源数据,包括表结构、数据质量、空值和业务逻辑。
⑥有人负责开发流程,包括实现各种功能,还有日志的记录,等等。
⑦有人测试真正好的ETL,都是团队来完成的,一个人的力量是有限的。
(3) ETL 处理步骤
主要从E、T、L和异常处理简单地说明。
①数据清洗
数据补缺:对空数据、缺失数据进行数据补缺操作,无法处理的做标记。
●数据替换:对无效数据进行数据的替换。
●格式规范化:将源数据抽取的数据格式转换成为目标数据格式。
●主外键约束:通过建立主外键约束,对非法数据进行数据替换或导出到错误文件重新处理。
②数据转换
数据合并:多用表关联实现,大小表关联用lookup,大大表相交用join(每个字段加索引,保证关联查询的效率)。
● 数据拆分:按一定规则进行数据拆分。
●行列互换、排序/修改序号、去除重复记录。
数据验证:loolup、sum、count。
实现方式包含两种,一种是在ETL引擎中进行的(SQL无法实现的);另一种是在数据库中进行的(SQL可以实现的)。
③数据加载
时间戳方式:在业务表中统一添加字段作为时间戳,当业务系统修改业务数据时,同时修改时间戳字段值。
●日志表方式:在业务系统中添加日志表,业务数据发生变化时,更新维护日志表的内容。
●全表对比方式:抽取所有源数据,在更新目标表之前先根据主键和字段进行数据比对,有更新的进行 update或insert。
●全表删除插入方式:删除目标表数据,将源数据全部插入。
第3章 数据
105