一、创建一个资源库
以8.1版本为例,创建一个Kettle数据库资源库
我们以数据库作为资源库来存储我们的Kjb和Ktr,用以版本的控制。
这里我们添加一个mysql数据库的连接(或者可以使用其他的数据库,作为资源库)
选择我们刚刚添加的连接,初始账号密码都是admin。
好了我们的资源库创建好了。
二、资源库的使用
我们可以在这里打开资源库中的ktr和kjb
这里就是我们资源库的文件夹了 -dir/,在这里可以方便整理我们项目中的kjb和ktr。如果要移动或者修改ktr、kjb的目录,必须先把文件关闭才能进行移动和修改。
在windows上建立一个作业,测试。
如果想让Linux上的Kettle知道数据库资源库的信息,我们需要将windows下
C:/用户/user/.kettle/repositories.xml文件拷贝到Linux下/root/.kettle/repositories.xml(路径根据环境变化)。
在linux上测试前我们需要知道几个参数
-rep 资源库名称,
-user 数据库账号,
-pass 数据库密码,
-dir 文件路径,
-job 作业文件名称
-trans 转换文件名称
-param 参数
然后我们打开Linux服务器进行作业调度测试:
/opt/soft/kettle/data-integration/kitchen.sh -rep shyl -user admin -pass admin -dir /SHYL -job test
可以看出来,我们在linux服务器上执行成功了,我们没有进行文件的上传操作,也就是说,linux服务器上的Kettle是直接读取了数据库中的信息。
我们在工作中使用kettle数据库资源库好处是:
1、可以跨平台资源共享ktr和kjb、省去迁移的步骤
2、可以方便的进行版本控制
当然也有不好的地方:
1、不能存储转换或作业的多个版本。
2、严重依赖于数据库的锁机制来防止工作丢失。
3、没有考虑到团队开发,开发人员不能锁住自己开发的某个作业。
4、需要经常性的备份资源库
按需选择是否使用资源库的方式进行开发。