kettle学习笔记(九)——子转换、集群与变量
一、概述
kettle中3个重要的步骤:
子转换/映射
在转换里调用一个子转换,便于封装和重用。
集群
集群模式
变量和参数
变量和参数的用法
二、子转换
1.定义子转换
主要由映射输入与映射输出定义:
这里给出一个从kettle自带的samples中拿出来的示例,详情配置,参考kettle示例
保存这个转换(可以是文件,也可以在资源库),这就是子转换了!
2.调用子转换
子转换的配置:
整个调用的示例如下:
// 详细,查看kettle示例
三、集群
Kettle 集群是一个分布式的运行环境,由一个主节点和多个子节点构成。
主节点调度在子节点上处理不同的数据行,子节点把处理后的结果再提交到主节点。
(本机模拟可以通过carte不同端口来模拟启动,然后在kettle的子服务器中配置,默认集群用户名cluster/cluster,然后在kettle集群中添加集群)
使用的方式在步骤右击,选择集群进行配置
四、参数和变量
1.参数
参数分为位置参数(arg)和命名参数(param),变量则和之前介绍的一样。
一个使用参数的示例如下:
命名参数用法类似,之前也有介绍,使用age > ${arg1}
如果使用命令行方式,则:
pan test.ktr 18
// 如有空格,需要加双引号
2.变量
变量有作业下的设置变量和获取变量两种用法,分别对应将字段设置为字段和将变量设置为字段
// 特别注意,设置的变量只能其它转换使用!!!
使用的方式,类似如下:(作业中设置变量环节)
更多参数和变量的介绍,参考:https://blog.csdn.net/yimenglin/article/details/84520601
kettle.properties中同样支持设置变量(注意重启spoon)
并且,kettle.properties是支持密文的,这样就不用使用明文暴露密码了:
命令行下执行
encr -kettle 123
命令
得到 123 对应的密码是 2be98afc86aa7f2e4cb79ce10bec3fd89
直接在 kettle.properties 文件里设置
Password = Encrypted 2be98afc86aa7f2e4cb79ce10bec3fd89