基于Kettle跑批的案例说明
需求概述
通过动态配置表的方式完成在kettle里动态配置参数,并调用ktr,实现跑批的目的。
问题分析
- 定义一个ktr读取配置表的信息并将拷贝记录到结果
- 定义一个ktr从结果里获取记录并设置变量
- 定义业务ktr(即按照业务需要开发的转换脚本)
- 定义kjb串联ktr2和ktr3,这里ktr2和ktr3也可以合并成一个ktr。
- 定义一个外层kjb串联ktr1和kjb4
1 定义配置表ktr
新增转换,拖入表输入、复制结果到记录组件。
定义表输入
表输入内容:该表里里的字段即对于转换的参数。
复制记录到结果
定义设置变量ktr
设置从结果获取记录
转换里拖动从结果获取记录组件,其中的字段名来自上一步的表输入里的字段名。
定义设置变量
定义设置变量组件,字段名来自从结果获取记录组件,并设置变量活动类型为” Valid in the root job”
定义业务指标加工ktr
根据自己业务需要定义口径加工的转换,
定义变量获取kjb
串联起定义设置变量ktr、定义业务指标加工ktr,详细形式见下:
定义外部调用kjb
基本配置
串联起 定义配置表ktr、定义变量获取kjb,详细形式见下:
配置作业里的参数,设置参数能传递。
作业配置
调用关系图详解
详细kjb的调用关系图见下,其中图表里的序号和前文的序号保持一致。
最外层的5定义外部调用kjb中ktr及kjb关系见下:
内部的4定义变量获取kjb: