我们在前面的实战博客中,都是将我们的作业和转换文件保存在磁盘中,这在小规模的使用中是没有问题的,可是当我们的ETL工程越来越庞大时,一个团队需要更多的ETL工程师来开发ETL的过程时,单人作战就很不合适了,这就和我们开发人员写代码一样,多人协作时需要一个代码的协作平台(GIT、SVN等)来帮助我们管理代码版本,合并代码等操作
因此,当我们的ETL工程初具规模时,团队协作配合开发ETL时就需要Kettle为我们提供的资源库功能,资源库主要的特点:
- 中心化:我们所有的转换、作业、调度等信息都保存在远程中心库上,可以远程更新、保存等,便于协作
- 版本机制:提供完整的版本信息、记录ETL的操作信息,可以回溯版本
- 安全性:文件保存在中央仓库,需要有数据权限的人才能更改ETL过程
另外一个比较方便的是我们在操作关系型数据库连接的同时,如果是使用资源库的方式进行保存的话,该资源库下所有的数据库都是引用关系,不需要重新建立DB连接操作,这很大程度上提高了工作效率.
Kettle为我们提供的资源库主要有三种类型:
- 数据库资源库:我们所有的作业、转换等ETL信息都保存在数据库中
- Pentaho资源库:Pentaho资源库的一个插件,在Kettle的企业版本中有这个插件
- 文件资源库:文件资源库是在一个文件目录下定义一个资源库
我们使用数据库资源库这一类型作为我们的中央资源库,这种方式更加方便
初始化连接
那么我们应该如何使用资源库呢?
首先我们运行Spoon图形化程序时,在界面的右上角,我们会看到Connect
这一工具栏,该工具栏代表的就是我们需要连接的中央资源库