2.2 菜单栏介绍
相信大家都有使用各种软件工具的经验,对菜单栏的一些功能作用,都有些大致的了解,Spoon和他们也没有大致的区别。为了避免显得啰嗦,接下仅对部分选项进行必要的说明。
2.2.1 文件
点击“文件”,出现其子菜单,如下图所示:
- 新建:能新建转换、作业和数据库连接;
- 打开、从URL打开文件、打开最近的配置:都是打开.ktr、.kjb文件的方式;
- 关闭、关闭所有;
- 保存、另存为;
- 另存为(VFS):就是采用标准的Unix系统调用读写位于不同物理介质上的不同文件系统;
- 打印;
- 从XML文件导入:从XML文件中导入定义的转换或作业;
- 导出:有两个选项,就是将定义的转换和作业导出到XML文件,其中一个选项可以压缩为ZIP包;
- 退出。
2.2.2 编辑
- 撤销、重做;
- 剪切、复制所选的步骤到剪贴板、复制文件、从剪贴板复制步骤、复制转换图片到剪贴板;
- 清除选择;
- 选择所有的步骤;
- 搜索元数据:搜索当前转换或作业的相关元数据,可以过滤、查看所有,资源库实际上就是元数据库;
- 设置环境变量、显示环境变量、编辑kettle.properties文件:这三个选项均与环境变量有关。设置和显示环境变量都是用户自定义的,而kettle properties文件是Kettle内置的环境变量,你可以按照需要修改其中的参数。
- 显示参数,当前作业或转换中设置的命名参数;
- 设置:根据文件的类型不同而有所变换,后面再介绍。
2.2.3 视图
没啥可介绍的,就是工作区大小的设定,其中“执行结果面板”用于控制查看执行结果、日志等信息的窗口打开与关闭。
2.2.4 执行
- 运行:执行当前作业或转换;
- Run options:对当前执行作业或转换的一些设置,如日志级别、参数设置等;
- 预览:预览本次转换的结果,例如简单查看一个表输入的数据。
可分为两种运行方式:获取前多少行,或者满足什么条件暂停。
当前选择获取前几行,查看结果如下: - 调试:与预览类似,只是默认方式不一样。
- 重放:重新运行;
- 校验:检验转换的输出,只是我一般不怎么看这个窗口,直接看日志(后面会介绍)。
- 影响分析:分析转换的影响;
- 获取SQL。
2.2.5 工具
2.2.5.1 数据库
有两个选项,浏览数据库和清除缓存。
首先,介绍下清除缓存,Kettle采用了缓存机制,缓存是个好东西,它能有效地改善性能,但是有时也是Bug的频发地。所以,有时改写了Step却没有任何变化,可以尝试着清除下缓存看看。
浏览数据库,就是查看你当前配置的任何一个数据库的表结构、数据、生成查询SQL等信息。
2.2.5.2 资源库
前面已经着重讲过了,不过要记得需要连接到资源库后,其子菜单才会显示,否则置灰。
共有4个选项:
- 探索资源库
- 清除共享对象缓存
- 导出资源库
- 导入资源库。
这里只介绍“探索资源库”,其他三个用就好,没啥可介绍的,就当我是偷懒吧,我不会怪罪你们的。
探索资源库:管理转换、作业、用户、分区等信息。
之前还有权限管理,这一版没有看到,去掉了,还是我哪里有所疏忽,后面我再整理吧。哈哈~~
这里也简单介绍下,大部分功能我也没有使用过,所以抱歉,待我研究后再来补充吧。
浏览主要是转换、作业等的存储目录树,连接是数据库的管理,安全是用户的管理。其他的以后再见!
2.2.5.3 向导
包括三个选项:
- 创建数据库连接向导
- 复制单表向导
- 复制多表向导。
创建数据库连接向导,很好理解,就是它会一步一步地引导你创建一个数据库连接。
复制单表向导和复制多表向导,就是它会一步一步引导你,创建一个将数据库A的一张或多张表的数据导入到数据库B对应表的Transformation文件。
1)选择数据源和目标库
2)单表选择需要复制的数据库
3)自动生成的Transformation文件
文件中生成了三个组件,Note(注释)、表输入、表输出,这些我们后面再介绍。
此时如果运行会报错,提示目标库没有相应的表结构,即Transformation并没有在目标库中创建该表结构,需手动创建,可以从数据库=>浏览中获取其表结构。
当然Kettle肯定没有这么笨,早就帮你设计好相应的组件了,之所以没有自动生成,反而是为了避免你目标库已经有相应的表结构。可以在Transformation-Hop中在加入一个“执行SQL脚本”的组件,其内容就是上面获取的建表SQL。
此时可以看到,转换过程完美地运行成功。
请问你是怎么看出来的,又没有当着我们的面演示?哈哈,你没看到每个组件的右上角较之前都有所不同嘛。绿色的对号,说明其运行成功;红色的叉号,说明运行出现错误。
对了,想起来要提醒你了,一定要记得双击点开“写入表”的组件(即表输出)。找到这个并去掉√,因为它相当于Truncate Table。不勾掉的话,它会将你目标表原来的数据全部清空。记得呦,亲,一般人我是不告诉他的。除非你就有这样的需求。否则,开发阶段没啥问题,测试人员如果不留意原始数据的问题,线上一运行,我靠,原始数据没了,你是不是要哭哭了。当时发现了还好,能及时还原数据恢复,但是若还是没有关心原始数据呢,过一段时间后,你就不止要哭哭了。
哈哈!不要期待测试人员帮你测出来,因为我发现他们经常忽略程序修改后,对原始数据的影响问题。也可以说,大部分都不会考虑这样的问题,该不会我反而是那个不正常的人。哈哈~~
4)多表可以选择多张表进行复制
比单表复制多了一步,填写Job名称与存储路径
Kettle自动生成了,一个Job和三个Transformation
关于这些组件后面我都会介绍的。
发现没,在Transformation之间居然出现了“SQL脚本”的组件?好吧,我猜不透设计者是怎么个意思,为啥没给第一Transformation也加上呢?或者像咱们前面讲的在Transformation中添加呢?先不用管这些了,只要后期我们学会了各个组件的用途。我们可以按照自己的意思修改,或者完全可以自己从头设计,这一点都不难。
2.2.5.4 Hadoop Distribution
Hadoop发行版,好吧,这么高大上的东西,我现在还没用过,后期再来补充吧。
2.2.5.5 选项
就是对Kettle的一些基本设置,放两张截图,你一看便知。
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 工具栏
其实就是“执行”菜单栏里的选项的快捷方式,这里就简单罗列下,详细解释请参考之前介绍的内容。
运行当前转换;
暂停当前运行的转换;
终止当前运行的转换;
预览当前转换的其中一步的执行结果;
调试,与预览打开的是一个弹框;
重放;
校验当前转换;
分析当前转换对数据库的影响;
获取当前运行转换的SQL;
浏览当前所有的数据库连接;
隐藏、展现执行结果面板;
相当于菜单栏里的视图,放大、缩小工作区。
2.3.3 Job工具栏
图表与功能,和Transformation工具栏高度重合,这里就不再重复介绍了。