kettle学习笔记(九)——子转换、集群与变量

时间:2022-07-24
本文章向大家介绍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.变量

  变量有作业下的设置变量和获取变量两种用法,分别对应将字段设置为字段和将变量设置为字段

  // 特别注意,设置的变量只能其它转换使用!!!

  使用的方式,类似如下:(作业中设置变量环节)

kettle.properties中同样支持设置变量(注意重启spoon)

  并且,kettle.properties是支持密文的,这样就不用使用明文暴露密码了:

  命令行下执行     encr -kettle 123   命令     得到 123 对应的密码是 2be98afc86aa7f2e4cb79ce10bec3fd89   直接在 kettle.properties 文件里设置     Password = Encrypted 2be98afc86aa7f2e4cb79ce10bec3fd89