基于Kettle跑批的案例说明

需求概述               

通过动态配置表的方式完成在kettle里动态配置参数,并调用ktr,实现跑批的目的。

问题分析

  1. 定义一个ktr读取配置表的信息并将拷贝记录到结果
  2. 定义一个ktr从结果里获取记录并设置变量
  3. 定义业务ktr(即按照业务需要开发的转换脚本)
  4. 定义kjb串联ktr2和ktr3,这里ktr2和ktr3也可以合并成一个ktr。
  5. 定义一个外层kjb串联ktr1和kjb4

1 定义配置表ktr

新增转换,拖入表输入、复制结果到记录组件。

基于Kettle跑批的案例说明_第1张图片

定义表输入

表输入内容:该表里里的字段即对于转换的参数。

基于Kettle跑批的案例说明_第2张图片

 

复制记录到结果

基于Kettle跑批的案例说明_第3张图片

定义设置变量ktr

设置从结果获取记录

转换里拖动从结果获取记录组件,其中的字段名来自上一步的表输入里的字段名。

基于Kettle跑批的案例说明_第4张图片

定义设置变量

定义设置变量组件,字段名来自从结果获取记录组件,并设置变量活动类型为” Valid in the root job”

基于Kettle跑批的案例说明_第5张图片

 定义业务指标加工ktr

根据自己业务需要定义口径加工的转换,

基于Kettle跑批的案例说明_第6张图片

定义变量获取kjb

串联起定义设置变量ktr定义业务指标加工ktr,详细形式见下:

基于Kettle跑批的案例说明_第7张图片

定义外部调用kjb

基本配置

串联起 定义配置表ktr、定义变量获取kjb,详细形式见下:

基于Kettle跑批的案例说明_第8张图片

配置作业里的参数,设置参数能传递。

作业配置

基于Kettle跑批的案例说明_第9张图片

调用关系图详解

详细kjb的调用关系图见下,其中图表里的序号和前文的序号保持一致。

最外层的5定义外部调用kjb中ktr及kjb关系见下:

基于Kettle跑批的案例说明_第10张图片

内部的4定义变量获取kjb:

基于Kettle跑批的案例说明_第11张图片  

 

 

 

 

 

 

 

 

你可能感兴趣的:(ETL-Kettle,etl,数据库,sql)