关联用lookup,大大表相交用join(每个字段家索引,保证关联查询的效率)
·数据拆分:按一定规则进行数据拆分
·行列互换、排序/修改序号、去除重复记录
·数据验证:loolup、sum、count
实现方式:
·在ETL引擎中进行(SQL无法实现的)
·在数据库中进行(SQL可以实现的)
3、 数据加载
方式:
·时间戳方式:在业务表中统一添加字段作为时间戳,当OLAP系统更新修改业务数据时,同时修改时间戳字段值。
·日志表方式:在OLAP系统中添加日志表,业务数据发生变化时,更新维护日志表内容。
· 全表对比方式:抽取所有源数据,在更新目标表之前先根据主键和字段进行数据比对,有更新的进行update或insert。
·全表删除插入方式:删除目标表数据,将源数据全部插入。
异常处理
在ETL的过程中,必不可少的要面临数据异常的问题,处理办法:
1、将错误信息单独输出,继续执行ETL,错误数据修改后再单独加载。中断ETL,修改后重新执行ETL。原则:最大限度接收数据。
2、对于网络中断等外部原因造成的异常,设定尝试次数或尝试时间,超数或超时后,由外部人员手工干预。
3、 例如源数据结构改变、接口改变等异常状况,应进行同步后,在装载数据。
在这里涉及到ETL中,我们只要有一个清晰的认识,它不是想象中的简单一蹴而就,在实际的过程,你可以会遇到各种各样的问题,甚至是部门之间沟通的问题。在给它定义到占据整个数据挖掘或分析的过程中50%-70%是不足为过的。
后期项目如有涉及ETL过程,会细细讨论。
Copyright BUAA