存档

文章标签 ‘control center’

ETL 控制中心

2009年3月3日 没有评论

不少ETL工具为了控制复杂的元数据,都有一个中央的控制台,像是OWB 的Control Center 应该每个使用OWB 的开发人员都见过了, Informatica 特有一个Matadata Manager 作为它的一个附加组件,ODI 同样也有一个基于WEB 的控制台oracledimn 可以让你连接到ODI 的repository 查看元数据.

ETL 的控制中心都是为了方便开发人员能在众多的元数据中更好的管理ETL ,其中有3个主要的目的是每个ETL 工具都想达到的, 调度,执行报告和可视化的数据流 (或者叫专业一点Data Lineage).

调度就是让开发人员能够定时的执行ETL 任务,或者手工的启动一个ETL 任务, 现在定时框架这么多(比如java 的quartz), 这个功能算是最基本的.

执行报告则是报告每个ETL 任务的执行次数,执行时间,执行者,执行结果,输入的参数,输出的参数,成功装载多少条,更新多少条,失败多少条,删除多少条等等.

Data Lineage 则是搞清楚整个数据的流向问题,某个转换数据源有哪些字段,输出到哪里,这可以帮助ETL 开发人员更好的理清ETL 开发的思路。

 

OWB 的控制台

owb_cc_execution

在OWB 里面,你执行一个ETL 任务之后,你可以查看执行的结果,上图中的Row Activity 显示了数据的插入数,更新数,删除数,如果执行失败了,当然也会在下面面板的Job Summary 里面显示.

 

owb_cc_data_lineage

OWB 的data lineage 图形可视化做的非常标准,里面可以非常清楚的看到对象与对象之间的关系,你想要查看任何一个转换使用了那些数据源字段和目标字段都一清二楚.

 

ODI 的控制台

ODI 在安装包内也提供了一个WEB 的控制台,在oracledimn 文件夹下,你可以把它放到任何一个java web 容器里埋你比如tomcat 的webapp 目录下就算部署好了, 它需要能够连接你的ODI 使用的repository 的数据库. 比如它默认环境的demo repository (hsqldb) , 然后进入http://localhost:8080/oradimn , 选择repository 就是OracleDI local repository , 默认的用户名密码就是ODI 的demo repository 的admin 用户名和密码( SUPERVISOR和SUNOPSIS ) , 如果你使用的是自己建立的repository , 修改它WEB-INF 目录下的snps_login_work.xml 文件就可以了.

odi_cc

登录进去之后的界面差不多就上图, 左边导航栏包含了所有ODI 的元数据管理项了, 其中 执行菜单 下面的计划程序里面就可以安排定时执行的任务, 而 元数据菜单 下的 数据沿袭 就是展现ETL 任务的数据流的 (Data Lineage 翻译成沿袭还真是不太习惯)

 

Informatica Matadata Manager

informatica 的元数据控制台是matadata manager , 默认是不包含在powercenter 里面的,跟它的Data Analysis 是属于额外组件,需要另外的license .

如果谁有informatica data analysis/matadata manager 的license 请给我一份(8.1.1 sp4 的)

informatic_metadata_manager1

 

informatic_metadata_manager2

 

informatic_metadata_manager3

 

 

informatica_metadata_manager4

 

informatica_metadata_manager5

 

informatica_metadata_manager6

 

informatica 的控制台可以说是做的最好的一个,其中它的metadata report 就有不少,从各个角度报告元数据的使用情况,而且查询条件非常细.

它的data lineage 也是非常的强,一个字段,一个字段都计算的非常的细, 最后一个图还显示了它的workflow 的其中一个transformation 的数据流动(浅黄颜色表示),字段,输入,输出,表达式.

 

 

最后

ETL 的元数据管理已经越来越重要,而且不少公司都已经认识到了不光要做好ETL工具的使用,而且管理元数据也同样重要. 商业的ETL 工具在这方面已经做得非常好了, 上面介绍的3种算是非常优秀的, 相比之下,开源的ETL 工具在这方面就要差很多. 不过成本也是另外一个非常重要的考虑方面,就看各自的需求了.

除了使用成熟的ETL工具之外, 不少公司对于ETL 也有自己的一套架构,比如使用ETL 编程框架 或是手工代码+sql 类型, 不太清楚这方面如果公司需要管理元数据会有怎么样的一个思路,感觉上如果使用ETL 编程框架或者手工代码+sql 的方式,元数据产生的过程不容易收集,如果只是调度还比较简单, 但是执行报告 尤其是 data lineage 怎么做就……  ,  如果哪位有这方面经验不妨交流交流.

分类: ETL 标签: , , ,