在Kettle中,开发创建的转换和作业是直接保存在本地,分别是转换文件ktr 和作业文件kjb 。
如果是多人团队开发的话,除了使用SVN等版本控制软件,还可以使用Kettle的资源库,它会将转换和作业相关的信息保存在数据库中。
kettle存储方式
- xml形式存储(在开发过程中,以此形式存储)
- 以资源库方式存储(分为数据库资源库和文件资源库)
资源库类型
1. Database Repository(数据库资源库):将转换和作业相关的信息保存到一个数据库中,安全性更高,支持团队开发,多个用户可以共用这个资源库,真实环境常用。
2. File Repository(文件资源库):将转换和作业相关的信息保存到本地的指定文件夹中,就是作为文件保存,不支持团队开发。
1.Database Repository(数据库资源库)
创建过程
1)点击右上角 Connect按钮–> other Repositories 。
2)Database Repository —> Database Connection —> Create New Connection 。
3)检查SQL Server对应的数据库中是否有新建表,建立成功表示你的数据就可以保存在SQL Server的数据库中 。
4)点击登录即可,默认的账号和密码都是:admin 。
此后对于所有的客户端,不管用户使用什么用户名登入kettle的spoon, 只要连接的是“CXJ_SQLServer”,那么都可以进入CXJ_kettle数据库取到相同的转换和作业。
Issue:
怎样修改登录数据库资源库“CXJ_SQLServer”的账号密码,或者怎样添加新的用户账号密码?
解决:
a. 打开工具—>资源库—>探索资源库 。
b. 修改密码:安全—>选中某个账号—>选中编辑按钮,就可以修改该账号的密码。
c. 添加新用户:安全—>选中“+”按钮,就可以添加新的账号密码。
5)我们会发现通过文件—>打开选项再也找不到之前我们保存在本地文件系统中的配置了,因为我们所有的作业和转换都交由SQL Server数据库保存和管理。
6)怎样将原先保存的转换和作业上传到这个SQL Server数据库资源库呢?
文件—>“从XML文件导入”选项将本地文件系统之前保存好的xml转换或作业,再选择Save保存按钮将xml上传到SQL Server的数据库资源库 。
备注:以下文件夹是kettle的虚拟文件系统
2.File Repository(文件资源库)
将job和 transform存在指定的目录中,其实和XML方式一样,不需要用户名和密码就可以访问。
创建过程
1)点击右上角 connect按钮—>other Repositories
2)Database Repostory —> File Repository
总结:
使用数据库资源库来管理文件,支持跨平台和共享,适用于团队协作,但是在版本控制方面不如文件资源库好,且数据库需要走网络,网络连接的异常也会导致job失败。
而文件资源库是将转换和作业文件保存在本地指定目录下,比较麻烦的是跨平台,一般和svn等版本控制的工具结合使用。