Kettle 小记(2)-- Spoon的使用(2) -- 菜单栏和工具栏介绍

3,428 阅读8分钟

2.2 菜单栏介绍

相信大家都有使用各种软件工具的经验,对菜单栏的一些功能作用,都有些大致的了解,Spoon和他们也没有大致的区别。为了避免显得啰嗦,接下仅对部分选项进行必要的说明。

菜单栏

2.2.1 文件

点击“文件”,出现其子菜单,如下图所示:

文件

  • 新建:能新建转换、作业和数据库连接;
  • 打开、从URL打开文件、打开最近的配置:都是打开.ktr、.kjb文件的方式;
  • 关闭、关闭所有;
  • 保存、另存为;
  • 另存为(VFS):就是采用标准的Unix系统调用读写位于不同物理介质上的不同文件系统;
  • 打印;
  • 从XML文件导入:从XML文件中导入定义的转换或作业;
  • 导出:有两个选项,就是将定义的转换和作业导出到XML文件,其中一个选项可以压缩为ZIP包;
  • 退出。

2.2.2 编辑

编辑

  • 撤销、重做;
  • 剪切、复制所选的步骤到剪贴板、复制文件、从剪贴板复制步骤、复制转换图片到剪贴板;
  • 清除选择;
  • 选择所有的步骤;
  • 搜索元数据:搜索当前转换或作业的相关元数据,可以过滤、查看所有,资源库实际上就是元数据库;
  • 设置环境变量、显示环境变量、编辑kettle.properties文件:这三个选项均与环境变量有关。设置和显示环境变量都是用户自定义的,而kettle properties文件是Kettle内置的环境变量,你可以按照需要修改其中的参数。
    kettle.properties
  • 显示参数,当前作业或转换中设置的命名参数;
  • 设置:根据文件的类型不同而有所变换,后面再介绍。

2.2.3 视图

视图

没啥可介绍的,就是工作区大小的设定,其中“执行结果面板”用于控制查看执行结果、日志等信息的窗口打开与关闭。

2.2.4 执行

执行
相信大家对此处也不陌生,调试程序时肯定经常用到类似的菜单。

  • 运行:执行当前作业或转换;
  • Run options:对当前执行作业或转换的一些设置,如日志级别、参数设置等;
    RunOptions
  • 预览:预览本次转换的结果,例如简单查看一个表输入的数据。
    预览1
    可分为两种运行方式:获取前多少行,或者满足什么条件暂停。
    当前选择获取前几行,查看结果如下:
    预览2
  • 调试:与预览类似,只是默认方式不一样。
    调试
  • 重放:重新运行;
  • 校验:检验转换的输出,只是我一般不怎么看这个窗口,直接看日志(后面会介绍)。
    校验
  • 影响分析:分析转换的影响;
  • 获取SQL。

2.2.5 工具

工具

2.2.5.1 数据库

有两个选项,浏览数据库和清除缓存。

首先,介绍下清除缓存,Kettle采用了缓存机制,缓存是个好东西,它能有效地改善性能,但是有时也是Bug的频发地。所以,有时改写了Step却没有任何变化,可以尝试着清除下缓存看看。

浏览数据库,就是查看你当前配置的任何一个数据库的表结构、数据、生成查询SQL等信息。

数据库1
数据库2

2.2.5.2 资源库

前面已经着重讲过了,不过要记得需要连接到资源库后,其子菜单才会显示,否则置灰。

共有4个选项:

  • 探索资源库
  • 清除共享对象缓存
  • 导出资源库
  • 导入资源库。

这里只介绍“探索资源库”,其他三个用就好,没啥可介绍的,就当我是偷懒吧,我不会怪罪你们的。

探索资源库:管理转换、作业、用户、分区等信息。

之前还有权限管理,这一版没有看到,去掉了,还是我哪里有所疏忽,后面我再整理吧。哈哈~~

探索资源库

这里也简单介绍下,大部分功能我也没有使用过,所以抱歉,待我研究后再来补充吧。

浏览主要是转换、作业等的存储目录树,连接是数据库的管理,安全是用户的管理。其他的以后再见!

2.2.5.3 向导

包括三个选项:

  • 创建数据库连接向导
  • 复制单表向导
  • 复制多表向导。

创建数据库连接向导,很好理解,就是它会一步一步地引导你创建一个数据库连接。

复制单表向导和复制多表向导,就是它会一步一步引导你,创建一个将数据库A的一张或多张表的数据导入到数据库B对应表的Transformation文件。

1)选择数据源和目标库

选择数据源和目标库

2)单表选择需要复制的数据库

单表选择需要复制的数据库

3)自动生成的Transformation文件

自动生成的Transformation文件

文件中生成了三个组件,Note(注释)、表输入、表输出,这些我们后面再介绍。

此时如果运行会报错,提示目标库没有相应的表结构,即Transformation并没有在目标库中创建该表结构,需手动创建,可以从数据库=>浏览中获取其表结构。

当然Kettle肯定没有这么笨,早就帮你设计好相应的组件了,之所以没有自动生成,反而是为了避免你目标库已经有相应的表结构。可以在Transformation-Hop中在加入一个“执行SQL脚本”的组件,其内容就是上面获取的建表SQL。

获取SQL

此时可以看到,转换过程完美地运行成功。

请问你是怎么看出来的,又没有当着我们的面演示?哈哈,你没看到每个组件的右上角较之前都有所不同嘛。绿色的对号,说明其运行成功;红色的叉号,说明运行出现错误。

对了,想起来要提醒你了,一定要记得双击点开“写入表”的组件(即表输出)。找到这个并去掉√,因为它相当于Truncate Table。不勾掉的话,它会将你目标表原来的数据全部清空。记得呦,亲,一般人我是不告诉他的。除非你就有这样的需求。否则,开发阶段没啥问题,测试人员如果不留意原始数据的问题,线上一运行,我靠,原始数据没了,你是不是要哭哭了。当时发现了还好,能及时还原数据恢复,但是若还是没有关心原始数据呢,过一段时间后,你就不止要哭哭了。

哈哈!不要期待测试人员帮你测出来,因为我发现他们经常忽略程序修改后,对原始数据的影响问题。也可以说,大部分都不会考虑这样的问题,该不会我反而是那个不正常的人。哈哈~~

4)多表可以选择多张表进行复制

多张表复制1

比单表复制多了一步,填写Job名称与存储路径

多张表复制2

Kettle自动生成了,一个Job和三个Transformation

多张表复制3

关于这些组件后面我都会介绍的。

发现没,在Transformation之间居然出现了“SQL脚本”的组件?好吧,我猜不透设计者是怎么个意思,为啥没给第一Transformation也加上呢?或者像咱们前面讲的在Transformation中添加呢?先不用管这些了,只要后期我们学会了各个组件的用途。我们可以按照自己的意思修改,或者完全可以自己从头设计,这一点都不难。

2.2.5.4 Hadoop Distribution

Hadoop发行版,好吧,这么高大上的东西,我现在还没用过,后期再来补充吧。

2.2.5.5 选项

就是对Kettle的一些基本设置,放两张截图,你一看便知。

选项1
选项2

2.2.5.6 Capability Manager

功能管理程序,我还没研究,总之选项很多,后期我再来补充吧。

2.2.5.7 Show plugin informations 和 Marketplace

就是说Kettle也有很多插件,你可以去市场搜索想要的插件下载下来使用,也可以查看现在所安装的插件信息。

插件部分我也没有研究,后期我再来补充吧(貌似说了不少这种话了,好尴尬呀)。

2.3 工具栏介绍

2.3.1 公共工具栏

公共工具栏

  • 新建:新建作业、转换、数据库连接和子服务器;
  • 打开:打开已有的作业或转换;
  • 浏览资源库:不连接资源库置灰,其实就是之前讲的探索资源库;
  • 保存;
  • 另存为;
  • 视图类型:默认只有原装的,可能是通过插件可以改变外观吧;
  • Connect:就是我之前注重介绍的资源库连接按钮。

2.3.2 Transformation 工具栏

Transformation 工具栏

其实就是“执行”菜单栏里的选项的快捷方式,这里就简单罗列下,详细解释请参考之前介绍的内容。

  • 运行当前转换;
  • 暂停当前运行的转换;
  • 终止当前运行的转换;
  • 预览当前转换的其中一步的执行结果;
  • 调试,与预览打开的是一个弹框;
  • 重放;
  • 校验当前转换;
  • 分析当前转换对数据库的影响;
  • 获取当前运行转换的SQL;
  • 浏览当前所有的数据库连接;
  • 隐藏、展现执行结果面板;
  • 相当于菜单栏里的视图,放大、缩小工作区。

2.3.3 Job工具栏

Job工具栏

图表与功能,和Transformation工具栏高度重合,这里就不再重复介绍了。