闲聊几句
数据仓库技术ETL层面,
1. ETL中E,对于异构的数据源, 最好通过配置驱动的方式,来完成异构数据源,同构数据源的抓取
eg:
数据源,可能是文本,mysql , oracle , mssql等, 开发一个抓取的通用module, 配置对应的数据源module, 集中存放抓取业务[具体选数据业务]的配置,
如果抓取的数据源有上百,上千个,则需要独立出来一个任务并发控制module
2. ETL中T, 对于抓取过后的源数据,通过配置转换模块的方式,完成对数据的转换
紧跟上一步, 同步过来的数据源进行转换,可能某些字段需要做类型转换,加密,解密之类的,如果没有转换,这一步可以跳过
3. ETL中的L,L实效性要求还是比较高的,如果是mysql系列的,基本上会采用Load data infile 的方式
在上面步骤中, 因为上面每一个错误都会最终影响到统计的结果的正确性, 每一步都需要增加执行状态描述,以及为后期数据自动修补提供基础
难点: 数据统计任务的依赖, 以及数据错误自动修补的问题, 需要hard coding
经过ETL后,后面可能会有下面的一些问题
1. 模型表的建立
2. 数据分层
3. 数据的存放粒度
4. 备份策略
难点: 业务的全面了解
|