|
趁着还有精力胡乱说两句
说明:我不喜欢ETL,趁着还没完全丧失兴趣之前胡乱说几句
ETL的工作本质是简单的,但只是由于环境复杂,导致了工作的复杂性。
大多数时候大家的争论的ETL,ELT,ETL的定义等等,实际上已经将注意力转到其他方面,对ETL的本质反而复杂化了,其实很简单,就是数据的迁移。 至于你用工具并不重要,你迁移的步骤野不重要,只要达到效果就行。
所以你用shell C编程 ,还是Datastage Informatica ,还是使用SQL都可以,没有好坏,重要的能满足要求,再这里尤其重要的是,能满足你的要求。再好的工具,如果你对其掌握的程度不够,对实际的需求不方面实现,工具的意义也是不大。
所以好的ETL工程师应该在项目实施前,对其将要使用的工具进行评估,将需求评估,规矩本身的实际情况,来适当的调整ETL的策略,从而达到ETL工作的优化。
(好像上面是废话啊)
其实重要的不在这里,有两个方面加重了ETL工作的复杂化
数据本身的信息
数据转换逻辑规则的信息
数据本身的信息 又包括
数据本身反应的业务信息
数据&数据之间的规则信息
业务信息(指源数据&目标数据)应如何体现,一般应通过某种工具来体现,如Erwin Powerdesiner 或者你用Excel也可以.一般情况下,往往容易忽略的,也容易受到限制就是源数据的业务信息。试问如果源数据的业务逻辑信息都不能清楚的表达,ETL做的再好,也是意义不大的。
所以,好的ETL工程师应该对源数据&目标数据的业务信息,业务逻辑,数据属性也有相应的了解,ETl框架设计师更是应该对此有深刻的认知,才可以确保优质的ETL任务。缺乏对源数据的认识,没有清晰的框架结构,必然会给随后的ETL工作加大难度&复杂性
(说句大白话,如果对数据仓库的数据要求一张报表,能否对源数据的接口数据也同样出一张报表,看看两者之间有he差异,就可以看出ETL的工作质量了)
先到这里吧,敲字很麻烦的。待续 |
|