Kettle 小记(2)-- Spoon的使用(1) -- 资源库的使用

6,437 阅读5分钟

2 使用Spoon

官网上下载好 Kettle 后,只需解压即可。

解压后,得到data-integration 文件夹。进入,点击 Spoon.bat 脚本文件。

此时,如果你的电脑上之前没有配置过 JDK ,那么程序会报错。记得运行前一定要配置 Java 的软件开发工具包,这也是使用 Kettle 的唯一要求

初始界面,如下图所示:

Spoon初始界面

在Spoon中,用户可以使用左面的组件树,在右面的面板中设计Transformation和Job的流程,并在Log View面板中查看运行结果。

2.1 Kettle 资源库管理

本使用教程基于当前最新版本(V8.2)编写,较本人一直在使用的版本(V6.0)整整跳过一个版本。期间不少功能都发生了改变,就如资源库。为了节省不必要的解释,或者介绍中有什么不对的地方,请多多包涵。

2.1.1 资源库类型

V8.2 有三种类型,较V6.0多了一种,即Pentaho Repository。另外两种被归类为 Other Repository ,它们分别为 Database Repostitory(数据库资源库)和 File Repository(文件资源库)。

  • Pentaho Repository:是一个插件(Kettle企业版中有),实际是一个内容管理系统(CMS),它具备一个理想的资源库的所有特性,包括版本控制和依赖完整性检查。
  • Database Repository:把所有设计好的ETLE信息保存在数据库中,包括数据库连接、Job、Transformation和相关配置,这样便于保存、管理以及远程调度。
  • File Repository:在一个文件目录下定义一个资源库,因为Kettle使用的是虚拟文件系统(Apache VFS)。所以这里的文件目录是一个广泛的概念,包括了zip文件、Web服务、FTP服务。

而我们经常使用的是 Database Repository 资源库。

2.1.2 新建 Database Repository

1)点击工具栏右边的“Connect”,再点击弹出框中的“Other Repository”:

新建DR1

2)选择 Database Repository,点击 Get started:

新建DR2

3)配置连接信息:

新建DR3

4)初次使用无数据库连接,在此之前最好先创建一个数据库连接:

新建DR4

5)创建数据库连接,这里选择了大家非常熟悉的MySQL数据库:

新建DR5

需注意,当点击测试后,初次使用应该会报错:找不到数据库连接的Jar包。

此时只需,去MySQL官网下载mysql-connector-java-5.1.47.jar ,然后将其放置\data-integration\lib 目录下,然后重启spoon。

有朋友可能就会说,为什么一开始不介绍这部分,否则就无需重启 spoon ,再将上面的步骤走一遍了?为什么呢?朋友请您见谅,提前介绍下载、放置Jar包,你肯定只知其然而不知其所以然。因为你可能用到的不止 MySQL,所以也会再次碰到其他数据库的该问题,就不知道为什么了。所以就麻烦你多操作一遍,加深印象吧。

重启后,再次测试,应该就能得到下面的弹框了,恭喜喽~~

新建DR5-1

6)配置成功后,选择 Connect Now:

新建DR6

在出现此界面之前,其实Kettle是做了一些配置工作的,主要是Kettle会自动在数据库Kettle中创建R_*开头的各种表。这里只截取一部分以示说明。这些表后面如果用到,会有相应说明的哦~

新建DR6-1

7)填写用户名和密码,默认为admin/admin:

新建DR7

大家可能会奇怪,默认的用户名和密码?为了安全我肯定要修改呀。那怎么修改呢?

1)这里就用到了之前提到的Kettle自动在数据库kettle中添加的表:R_USER了。

新建DR7-1

可以看到该表中有两个用户,即admin(管理员)和guest(只读用户)。

密码是加密的,加密方式我还不清楚,所以通过SQL修改我还不会,哈哈。

2)界面修改有点啰嗦:

  • 菜单栏选择“工具”=>“资源库”(记得先用admin用户连接上Database Repository,否则资源库的子菜单是置灰的)=>“探索资源库”或者按快捷键“Ctrl+E”;
  • 在弹框中选择“安全”Tab页,就可以对用户进行修改、添加和删除了。
    新建DR7-2

到此如何新建Database Repository介绍完了。

连接成功后,我们之后保存的 Job 和 Transformation ,都会直接保存在数据库中。

2.1.3 新建 File Repository

File Repository的创建,跟Database Repository比较就相对简单多了,只需填写资源库名称和保存文件的相应路径即可:

新建FR1

我这里选择的目录是本地的,其实应该可以选择局域网内的服务器(哈哈~我没有验证过~)

当然Kettle也会在该目录下初始化一些东西,以便其读取和管理。

其连接无语验证,因为仅是把Job和Transformation保存在所创建的目录下而已。

2.1.4为什么要使用资源库

在不连接任何资源库时,所定义的Job和Transformation将只能保存在本地磁盘上,以.kjb和.ktr文件的方式。

如使用资源库,则所定义的Job和Transformation将会存储到资源库里。实际上,资源库就是一个数据库,如MySQL数据库,里面存储了Kettle定义的元素的相关元数据。

简单而言,就是元数据库,方便管理与协调工作。

如果资源库创建完毕,则资源库的相关信息将存储在文件repositories.xml中,它位于你的缺省home目录的隐藏目录.kettle中。如在Windows系统中,这个路径就是C:\Users\用户名.kettle。

关于前面创建Database Repository相关信息的截图:

repositories.xml

除了保存方式的不同之外,菜单栏与某些选项也有些许区别,这里先不一一介绍了,提醒使用时留心观察。

好像没有介绍**“Pentaho Repository”**吧?
不是好像,就是没介绍,因为哥没用过,哈哈~