您的位置:首页 > 其它

OLAP -- ODS 项目总结 -- ETL中的流程

2013-02-20 10:54 169 查看
ODS-BI 建设中ETL要占用1/3 的时间,深有感触。BI的建模,从物理数据层,逻辑数据层,业务逻辑层各个层次,都有很多自动化的工具可以处理。

但是ETL 中的流程确要根据性能来设计的。总结下这几个部分。

1.数据源/数据目标管理

确定数据源的表,文件,或者RESTFUL的URL,ODBC,值得注意的是,在数据源时,同时关联号外主键关系,对ETL数据有效性帮助很大。

目标数据,可能不同的主题使用了不同的数据库,各个数据库的地址,ODBC,JDBC等信息。 目标数据大部分情况下不需要建索引,主键,因为

目标数据库数据量大时都会使用批量入库,也就是bulk模式,索引会使入库失败。

2.MAPPING 管理

工作量的大头,建议命名方式 主题_维(事实)_source_target ,其中的组件也物化八门,其中还涉及到外部调用(SHELL ,存储过程等),有 过滤器Filter,

类型转换器(Express),监听器(Lookup),分发器,存储过程调用 ,连接器组件(Join)等等。还有ETL中的变量和参数的使用,比较难。

有些原则:尽量使用SQL中WHERE子句,而不要使用过滤器。对大表不要使用LOOKUP,Join 组件。 数据源使用bulk 方式等等。可以看看网上的ETL 优化的原则。

MAPPING 是ETL性能和一致性的关键。

3.WORKFLOW 的管理

MAPPING完成了数据的ETL的过程,但是WORKFLOW 完成的是整合到系统的利器。

在WORKFLOW中,通常一个主题一个WORKFLOW,在整个流程可以通过时间戳设置来完成 增量抽取。同时流程的统计数据的收集,ETL状态的监控信息的收集。到最后的运维邮件的发送,或者其他SHELL 的调用。 都在这个过程中。

要高级点,WORKFLOW的回滚,断点恢复都是要考虑,实现起来挺郁闷。

4. 调度器的管理

时间窗控制的工具,ODS的时间戳的控制通过调度器来控制。 时间窗根据业务高峰期,业务特性来设计和调整。

有些ETL工具有自带的调度器,也可以通过其他语言开发封装调度器,这样更为灵活。还可以使用数据库中的JOB来完成。甚至BI端的物化视图的刷新也可以放在调度器中进行。

5.状态监控 --运维系统
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: