Kettle小白从零开始的开发历程(二)资源库的选择与创建

AlgoStriderX
• 阅读 5158

资源库的选择

在成功打开你的Spoon客户端编辑工具后,首先你要确立一个地方用于保存你的工程文件,Kettle提供了三种资源库类型:数据库类型资源库(Database Repository)、文件类型资源库(File Repository)、Pentaho官方资源库。

  • Database Repository:数据库类型资源库如同其名一样,将你的所有工程文件包括配置都保存在数据库中。
  • File Repository:文件类型资源库,将你的工程文件以XML的形式保存在本地(配置文件应该是包含在每个任务文件中的)
  • Pentaho Repository:官方推出的一款资源库,功能强大(看介绍的),应该是针对企业版(付费的,pass)

先说说这些这三种的区别:

首先,数据库类型资源库和文件形式资源库都没有版本管理这个概念,或者说没有自动的版本管理(目前我也找到什么比较好点的管理方式,如果各位观众老爷们有的话可以分享一下下呗),先说数据库类型,数据库做版本管理本身就是一件困难的事,虽然现在有数据库版本管理的框架,但是会占资源呀(客户方肯定不愿意XD),所以目前唯一能做的就是把数据库导出来SQL文件,上传git;然后是文件资源库,因为是XML文件形式,相对于数据库,上传git做版本管理会更容易一些;Pentaho官方推出的资源库介绍是带版本管理的,因为收费,所以我也没研究过XD。关于版本这块,我用的是数据库资源库,在项目上线时候,发版时常会遇到版本的事故,因此吃了不少亏,希望大家慎重考虑下版本管理。

其次,关于多人协同开发,数据库类型资源库是不建议多人开发的,毕竟有锁的机制有一定的风险。文件资源库我百度过有大神做出过版本管理样例的,并且支持多人开发,但有点复杂被我放弃了,有兴趣的可以百度找一找。Pentaho官方资源库不用我多说了,支持版本管理,支持多人在线开发。

既然文件资源库能做版本管理能做多人开发为什么不选文件资源库呢,虽然文件资源库是能做出这些效果,但它是保存任务工程文件在本地的,方便的同时但有很多的安全隐患,相比于数据库形式的资源库,首先你登录数据库就要配置一次密码,其次Kettle数据库资源库登录还设置了单独的一层密码(默认登录账户、密码都是admin,可在数据库中修改),这样在和应用程序结合的时候安全上有了很大的保障,Pentaho不用说了,要什么有什么。

经过考虑之后我是选择了数据库类型的资源库,Pentaho付费而且好像托管在Pentaho的服务器上(又要占一台服务器资源),客户、项目经理表示双方都不乐意(哈哈)。关于资源库的选择就说到这,直接以建立数据库类型资源库为例上图吧!

创建数据库类型资源库

打开Spoon客户端界面,点击右上角的Connect按钮,这里有个坑点,有时候你的Spoon打开,右上角的Connect按钮会消失...我百度了很多办法都没能解决,最后只能关掉重启几次就好了,如果下次还这样就一直重启...

Kettle小白从零开始的开发历程(二)资源库的选择与创建

点击Connect按钮后,你会看到如下界面

Kettle小白从零开始的开发历程(二)资源库的选择与创建

选择Repository Manager选项

Kettle小白从零开始的开发历程(二)资源库的选择与创建

刚开始肯定什么都没有的啦,点击Add按钮,添加一个资源库

Kettle小白从零开始的开发历程(二)资源库的选择与创建

这里就是Pentaho在推销自己的独创资源库啦,不想理会,点击Other Repositories进入下一步

Kettle小白从零开始的开发历程(二)资源库的选择与创建

选择Database Repository,点击Get Started

Kettle小白从零开始的开发历程(二)资源库的选择与创建

首先给你的资源库取个名字,然后点击第二项,给你的数据库类型资源库选择一个数据库链接

Kettle小白从零开始的开发历程(二)资源库的选择与创建

选择New一个

Kettle小白从零开始的开发历程(二)资源库的选择与创建

这里就根据你的环境里配置一下就行啦,这里题外话一下,最好是给Kettle单独准备一个库,不要和其他应用混在一个库(这很重要)。配置完后,点一下你的配置好的链接,选择back返回到刚刚的资源库编辑页面

Kettle小白从零开始的开发历程(二)资源库的选择与创建

点击Finish就完成了一个数据库类型的资源库创建啦!

数据库类型资源库注意点

当你完成一个数据库类型的资源库创建后,打开你配置的数据库,你会发现Kettle帮你创建了一系列的表(仅展示部分):

Kettle小白从零开始的开发历程(二)资源库的选择与创建

其中R_DATABASE、R_DATABASE_ATTRIBUTE、R_DATABASE_CONTYPE、R_DATABASE_TYPE四张表示关于你数据库链接的配置,在你配置好你的数据库链接好,千万不要乱动这几张表,尤其是上了生产(过来人的痛)。

R_DATABASE:其中包含了你的每一个数据库链接的配置,数据库账户、密码等等,而你的所有任务工程文件都是和你这张表配置的链接的ID绑定的,所以不要轻易改变你的链接数据的位置,比如你的MySQL链接配置产生的ID是1,那么你所有用到这个链接的任务都会和1绑定,如果你迁移了一个环境,改变了这个MySQL链接的ID,但任务还是会识别ID为1的链接为MySQL的链接,当你同步的时候就会报错,大概是通过某某链接在某某库找不到你所对应的表等等。

R_DATABASE_ATTRIBUTE:数据库链接属性配置,这张表会记录你对每个定义的链接的属性,比如这个链接是否使用数据库连接池啊等等。

R_DATABASE_CONTYPE:数据库链接类型,例如JDBC、ODBC什么的,一般选择Native(JDBC)。

R_DATABASE_TYPE:数据库类型,记录了所有Kettle支持的数据库。

在数据库链接配置表里面,关于密码字段是Kettle自己加密过的密文保存在数据库中,如果有强要求的,比如账户也要保密什么的,可以试试所有参数变量化替代,这个之后说。

其次,关于第一次链接数据库的时候,Kettle可能会提示找不到合适的数据库链接的Jar包,这个需要根据你的数据库版本去查找相应的JDBC链接的Jar包(这个就自行百度一下然后去Maven网站上下载一下了),以MySQL为例,我查到所需要的链接Jar包为

Kettle小白从零开始的开发历程(二)资源库的选择与创建

打开Kettle的根目录,找到lib目录,将你下载的jar包放到该目录下,你用到几个数据库就要相应的放多少个对应的链接jar包进去,MySQL可能还需要你去下载对应版本的链接bin包(这个和上面的Jar有区别的)

Kettle小白从零开始的开发历程(二)资源库的选择与创建

下载好后,将其放到Data Service JDBC Driver目录下即可。
你需要抽取有几种类型数据库就要对应的放置几种对应版本的链接Jar包进去,所以一定要做好规划。

以上就是关于资源库的选择了,如果还有坑点,日后还会做补充。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
3年前
java实现使用QQ邮箱发送验证码功能
首先当然是导入jar包了啊如果是maven项目可以进maven资源库进行搜索导入,在此附上地址:https://mvnrepository.com这是需要导入的jar包 commonsemail1.x.jar、mail.jar  activation.jar,其中activation.jar我并没有导入,但是还是发送成功了,但看网上有蛮多都说需
Karen110 Karen110
3年前
​一篇文章总结一下Python库中关于时间的常见操作
前言本次来总结一下关于Python时间的相关操作,有一个有趣的问题。如果你的业务用不到时间相关的操作,你的业务基本上会一直用不到。但是如果你的业务一旦用到了时间操作,你就会发现,淦,到处都是时间操作。。。所以思来想去,还是总结一下吧,本次会采用类型注解方式。time包importtime时间戳从1970年1月1日00:00:00标准时区诞生到现在
Stella981 Stella981
3年前
Kettle 7启动 Spoon.bat 时报错“A Java Exception has occurred.”的解决方法
Kettle7启动Spoon.bat时报错“AJavaExceptionhasoccurred.”的解决方法参考文章:(1)Kettle7启动Spoon.bat时报错“AJavaExceptionhasoccurred.”的解决方法(https://www.oschina.net/action/GoToLink
Stella981 Stella981
3年前
QT使用label显示图片或者gif并自动适应label尺寸
显示图片1.在ui界面拖动label控件至界面。2.将想要显示的图片加入qt资源库。3.添加图片至label(利用setPixmap函数)。4.自使用label尺寸(利用setScaledContents函数)。未自适应label大小的效果:!在这里插入图片描述(https://oscimg.oschina.
Stella981 Stella981
3年前
Git连载(2)创建本地资源库
Git创建本地资源库        创建本地资源库非常简单:选择需要版本管理的工作目录,然后在该工作目录下创建资源库即可。具体执行按以下步骤执行即可。        (1)选择需要版本管理的工作目录,比如此处打算对G:\\gitJava目录进行版本管理。通过资源管理器进入该目录,在空白处单击鼠标右键,TortoiseGit弹出如图1.64所示
Stella981 Stella981
3年前
Eclipse分享和检出(六)
一、创建资源库位置1.  切换到透视图SVN资源库:WindowShowViewOther,搜索“SVN资源库”2.  创建资源库位置,右键新建资源库位置3\.输入可用的版本库地址:svn://localhost/OA此时可以查看版本库中的文件及目录结构。二、检出FileImport.
胖大海 胖大海
2年前
nginx简易安装启动!
使用3A服务器搭建的centos系统安装nginx,教程在我的往期博客中,最新教程yum方式如下!添加CentOS7Nginxyum资源库rpmUvh http://nginx.org/packages/centos/7/noarc
赵融 赵融
1年前
Mac电脑上的英文版的PS软件怎么转换成中文
今天给大家介绍一下Mac电脑上的英文版的PS软件怎么转换成中文的具体操作步骤。1.如图,打开电脑,按键盘上的shiftcommandC组合键。2.在打开的菜单中,选择本地磁盘选项。3.在打开的页面,点击右侧的资源库选项。4.如图,在打开的页面,选择红框框选
美凌格栋栋酱 美凌格栋栋酱
4个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
AlgoStriderX
AlgoStriderX
Lv1
离别家乡岁月多,近来人事半消磨。
文章
3
粉丝
0
获赞
0