Kettle 资源库-保存Kettle 元数据

时间:2022-09-13 04:47:00


Kettle资源库-保存Kettle元数据

Kettle资源库元数据
元数据的通用概念:
“描述性数据” 或“数据的数据”
ETL 的元数据:
描述ETL 要执行的任务简单的说就是在转换或者作业里面进行的那些设置。包括数据库名称,数据名称,文件名称和各种配置等等。

Kettle里元数据的存储方式有两种
资源库
资源库包括文件资源库、数据库资Kettle 4.0以后资源库类型可以插件
• XML 文件
.ktr 转换文件的XML的根节点必须kjb作业XML的根节点是<job>

 

Kettle 资源库资源库类型(kettle中的转换或者作业等资源的存储的仓库称为资源库:分为文件资源库、数据库资源库。)
数据库资源库:
• 把 Kettle 的元数据串行化到数据库中, 如 R_TRANSF
存了Kettle转换的名称、描述等属性。
• 在Spoon里创建和升级数据库资源库
文件资源库:
在文件的基础上的封装,实现了 org.pentaho.di.repositor
Kettle 4.0以后版本里增加的资源库类型

不使用资源库:

直接保存为ktrkjb 文件。 

资源库的作用:资源库是用来保存操作步骤和相关的日志,转换,JOB等信息。用户通过图形界面创建的的转换任务可以保存在资源库中。资源库可以是各种常见的数据库,用户通过用户名/密码来访问资源库中的资源,默认的用户名/密码是admin/admin.资源库并不是必须的,如果没有资源库,用户还可以把转换任务保存在 xml文件中。转换文件以ktr扩展名,作业文件以kjb为扩展名。             

 

如何连接数据资源库:

右上角点connect弹出窗口,点窗口上的Other Repositories

 

先配置jar包用于连接到Mysql数据库将mysql-connector-java-5.1.7-bin这个jar包拷贝到E:\data-integration\lib下面即可。

第一步:

点击右上角的Kettle 资源库-保存Kettle 元数据

第二步:

点击other Repository

Kettle 资源库-保存Kettle 元数据

第四步:配置数据库信息(必须现在mysql当中创建kettle数据库)

Kettle 资源库-保存Kettle 元数据

第五步:测试

Kettle 资源库-保存Kettle 元数据

第六部:创建资源库连接完毕之后点击右上角connect连接到之前创建的资源库。登入账号为admin,如果之前没有改过密码默认密码是admin

Kettle 资源库-保存Kettle 元数据

最后右上角显示已经连接了。

建立测试建立一个转换将其保存会发现mysqlkettle库下面会出现许多表。看到这些表,就表示创建完成了一个数据库资源库了

Kettle 资源库-保存Kettle 元数据

Kettle 资源库-保存Kettle 元数据

资源库建立好之后点击工具里面的探索资源库就可以看到资源库里面的内容了。这个图片里面资源库是没有东西的。

工具->资源库->探索资源库 就可以看见资源库里面的资源了。

Kettle 资源库-保存Kettle 元数据

如果要导出资源库里面的某个目录就右键就行了。

Kettle 资源库-保存Kettle 元数据

如果要导出全部资源库的文件就如下图所示

Kettle 资源库-保存Kettle 元数据


将资源库导出其实也是一个xml文件。

资源库里面所有的转换都在导出的xml文件里面。

Kettle 资源库-保存Kettle 元数据

Kettle 资源库如何选择资源库?
数据库资源库的缺点:
不能存储转换或作业的多个版本。
严重依赖于数据库的锁机制来防止工作丢失。
没有考虑到团队开发,开发人员不能锁住某个作业自己开发。
文件资源库的缺点:
对象(如转换、作业、数据库连接等对象)之间的关联关系难
理,所以删除、重命名等操作会比较麻烦。
没有版本历史。
难以进行团队开发。
不使用资源库:使用 svn进行文件版本控制。 

 

Kettle资源库管理资源库
ETL 开发的几个阶段:
开发、测试、确认、发布
各阶段对应的资源库:
开发资源库、测试(确认)资源库、发布资源
各阶段推进
1. 从开发资源库到测试资源库:
注意命名规则。
由一个人统一发布,避免冲突。
两种移植方法:断开重连、导出/导入。
2. 从测试(确认)资源库到发布资源库: 导出/导入

不使用资源库
SVN 版本控制,测试打tag,发布建branch

 

Kettle资源库参数化
为什么要参数化:
在资源库之间移植作业时,因为各个阶段的环境不一样,在作业里使用的数据库
连接等元数据不能硬编码。
参数化的几个方法:
• kettle.propertieskettle启动的时候要加载的变量,文件位于java user.home 目录下
自定义properties 文件,通过属性文件输入 步骤读取。
使用参数表
参数表的结构
Environment parameter_name parameter_value valid_from valid_to
Dev host_name localhost 2011-01-01 2099-01-01
Test host_name 192.168.12.10 2011-01-01 2013-05-01
Test host_name 192.168.12.11 2011-05-02 2099-01-01