ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 个人工作_kettle之插件开发

个人工作_kettle之插件开发

原创 Linux操作系统 作者:piliskys 时间:2011-05-03 15:36:18 0 删除 编辑

KETTLE插件介绍

注:此部分插件为kettle中的job插件

GoldenGate命令插件

GoldenGate此插件命令主要包括启动与停止,由于是job插件,因此,返回内容只有成功与失败标志,此插件中涉及的GoldenGate主机及端口、进程组等都必须在GoldenGate管理系统中进行注册,只此,此插件只能选出已注册GoldenGate元数据中的数据,因此,必须保证,注册内容与GoldenGate服务一致性。

设计原因

    针对数据集成平台的统一管理思想,对于抽取数据时,需求对goldengate的状态进行一般性管理,如启动、停止、查看状态等,以便后期加工时数据的稳定与一致性。再者由于goldengate的管理一般由本机命令或第三方软件director进行管理,由此,很难在一统一平台上进行管理与控制,造成事务处理与程序自动化的复杂化,因此,kettle作为数据集成平台的载体,在此基础上进行插件开发,可满足一般的正常管理。

界面展示

1,主界面

2,点击【点击这里得到goldenGate进程】得到子界面,列出此goldenGate进程组

界面说明

点击GoldenGate组件后,弹出以上类似界面,

1,作业项名称:与其它组件相同,定义job的名称

2,  数据库连接:此连接指找到定义GoldenGate的元数据库,即GoldenGate注册的数据库

3,  GoldenGate服务:当选择正确数据库连接后,会自动列出所有注册的GoldenGate主机及端口服务

4,  点击得到GoldenGate进程:指得到GoldenGate选择的服务中所有注册定义了的进程组,可选

5,  GoldenGate进程组:由上操作选择后带出,此部分也可自行添加,如启动一系列类似的进程组(RC*

6,  GoldenGate命令:可选启动与停止命名

缺点与不足

1,由于目前goldengate未提供java sdk,因此插件中使用管理goldengate的第三方directorjava包进行二次开发,不在同一网段或网络不佳情况下,其中通讯交互时,易报超时而得不到正确的命令返回结果(命令已发送且远程已执行,但未能取得执行结果),这样,很大程序造成程序的不健壮及结果处理。

2,由于goldengate管理及进程都需求定义其中的相关信息,为方便管理,这些信息由元数据表进行管理与维护,因此由于与元数据进行耦合,降低了插件的灵活性。

存储过程并发插件

注:此插件主要是针对存储过程并发进行设置,根据并发个数,充分利用数据库的机器性能,并发运行,使存储过程加工时间缩短,效率提高。

此插件主要利用存储过程中运行时,根据其中一参数的改变而可同时并发运行,根据数据库压力,可随意更改并发个数,而达到数据库的一个合理运行性能。

设计原因

针对一般的etl工具,都支持存储过程的调用,但作为数据集成平台的高可用性及抽取效率的考虑,并发处理的必要性非常高,因此,能灵活并发调用存储过程,可充分的利用数据库的资源,根据数据库的压力,设置合理的并发个数,以达到数据库的最佳性能。

界面展示

界面说明

点击GoldenGate组件后,弹出以上类似界面,

1,作业项名称:与其它组件相同,定义job的名称

2,  数据库连接:此连接指找到要找到存储过程的数据库定义

3,  并发个数:指同时并发存储过程的个数

4,  固定参数:指存储过程中除并发参数外,传入的其它参数的值,此sql中定义的内容列必须与下面参数表中的列名称相同,若除并发参数外无其它参数,此内容可不填写

5,  并发参数:指存储过程运行时依赖的并发内容,此内容必须填写,如无,则此组件无任何意义

6,  参数:指存储过程的参数定义,具体可参看kettle中转换的【调用存储过程】组件。此名称定义可随意,但必须与以上两参数sql更名相同。此内容必须与存储过程参数个数相同,顺序相同,参数类型相同,方向相同。

缺点与不足

1,由于此插件为kettle中的job插件,没有输入输出的概念,只有执行的结果状态,因此,此插件的参数设置显得过于牵强,都是由sql进行获得。

2,暂时不支持参数自动获取,灵活度不够

EssBasecube插件

注:此插件主要是针对存储过程并发进行设置,根据并发个数,充分利用数据库的机器性能,并发运行,使存储过程加工时间缩短,效率提高。

此插件主要利用存储过程中运行时,根据其中一参数的改变而可同时并发运行,根据数据库压力,可随意更改并发个数,而达到数据库的一个合理运行性能。

设计原因

针对目前essbase刷新cube没有一集成的工具能够实现,为统一实现数据集成的调度管理,满足当前数据集成流程的需求,以kettle为平台基础,在essbase提供的sdk上进行cube刷新的开发,其目的主要为整合集成平台中所涉及的资源。同时,为实现刷新的效率,进行并发刷新个数的设置。

界面展示

1,主界面

     2,点击【得到essbasecube刷新信息】得到子界面


界面说明

点击Essbase刷新组件后,弹出以上类似界面,

1,作业项名称:与其它组件相同,定义job的名称

2,数据库连接:此连接指找到要找到定义essbase刷新信息的元数据的数据库链接定义

3,并发个数:指同时并发刷新cube的个数

4,得到essbasecube刷新信息:点击此处得到注册essbase刷新cube的定义信息

5,essbasecube刷新信息:最终选择的cube刷新信息,可选择刷新顺序,为空则代表优先级最高,其它按数据由小到大排列。

缺点与不足

3,由于目前essbasecube刷新的种类之多,加之目前项目组对essbase的刷新机制及其sdk了解程度不够,目前只支持针对数据库sqlcube刷新。

4,由于essbasecube刷新都需求定义其中的相关信息,为方便管理,这些信息由元数据表进行管理与维护,因此由于与元数据进行耦合,降低了插件的灵活性。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/134308/viewspace-700812/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 并行框架考虑
请登录后发表评论 登录
全部评论

注册时间:2008-01-14

  • 博文量
    68
  • 访问量
    169293