Kettle循环获取结果集

阅读: 评论:0

Kettle循环获取结果集

Kettle循环获取结果集

文章目录

  • 1. Kettle循环获取结果集
    • 1.1 效果图
    • 1.2 转换介绍
    • 1.3 job介绍
    • 1.4 运行job结果
  • 2. 关于Kettle中JavaScrpit的使用

1. Kettle循环获取结果集

1.1 效果图

  • job(j1.kjb)

  • t1(t1.ktr)

1.2 转换介绍

  1. 自定义常量数据

  1. 写日志

点击 获取字段 会获取上一步 自定义常量数据 中的 元数据 。将其在运行中作为日志输出

  1. 复制记录到结果集

把自定义常量记录复制到结果集。然后在job中循环获取

1.3 job介绍

  1. 转换

  1. JavaScript
var prevRow=Rows();//获取上一个传递的结果
if (prevRow == null &&(prevRow.size()=0))
{false;}else{parent_job.setVariable("tables", prevRow);//ArrayList存储表名变量,以数组形式保存入table1,table2parent_job.setVariable("size", prevRow.size());//存储执行表的总数量parent_job.setVariable("i", 0);//循环控制变量parent_job.setVariable("name", (0).getString("name", ""));true;}
  1. 检验字段的值

  1. 写日志

循环打印定义的JavaScript中定义的变量

  1. JavaScript2
var prevRow=Rows();
var size = new Number(Variable("size"));
var i = new Number(Variable("i"))+1;
if(i<size){parent_job.setVariable("name", (i).getString("name", ""));
}
parent_job.setVariable("i",i);
true;

1.4 运行job结果

2020/03/26 10:32:59 - Spoon - 正在开始任务...
2020/03/26 10:33:00 - j1 - 开始执行任务
2020/03/26 10:33:00 - j1 - 开始项[转换]
2020/03/26 10:33:00 - 转换 - Using run configuration [Pentaho local]
2020/03/26 10:33:00 - 转换 - Using legacy execution engine
2020/03/26 10:33:00 - t1 - 为了转换解除补丁开始  [t1]
2020/03/26 10:33:00 - 自定义常量数据.0 - 完成处理 (I=0, O=0, R=0, W=3, U=0, E=0)
2020/03/26 10:33:00 - 写日志.0 - 
2020/03/26 10:33:00 - 写日志.0 - ------------> 行号 1------------------------------
2020/03/26 10:33:00 - 写日志.0 - 输出日志
2020/03/26 10:33:00 - 写日志.0 - 
2020/03/26 10:33:00 - 写日志.0 - id = 1
2020/03/26 10:33:00 - 写日志.0 - name = Kevin
2020/03/26 10:33:00 - 写日志.0 - 
2020/03/26 10:33:00 - 写日志.0 - ====================
2020/03/26 10:33:01 - 写日志.0 - 
2020/03/26 10:33:01 - 写日志.0 - ------------> 行号 2------------------------------
2020/03/26 10:33:01 - 写日志.0 - 输出日志
2020/03/26 10:33:01 - 写日志.0 - 
2020/03/26 10:33:01 - 写日志.0 - id = 2
2020/03/26 10:33:01 - 写日志.0 - name = Helena
2020/03/26 10:33:01 - 写日志.0 - 
2020/03/26 10:33:01 - 写日志.0 - ====================
2020/03/26 10:33:01 - 写日志.0 - 
2020/03/26 10:33:01 - 写日志.0 - ------------> 行号 3------------------------------
2020/03/26 10:33:01 - 写日志.0 - 输出日志
2020/03/26 10:33:01 - 写日志.0 - 
2020/03/26 10:33:01 - 写日志.0 - id = 3
2020/03/26 10:33:01 - 写日志.0 - name = Lucy
2020/03/26 10:33:01 - 写日志.0 - 
2020/03/26 10:33:01 - 写日志.0 - ====================
2020/03/26 10:33:01 - 写日志.0 - 完成处理 (I=0, O=0, R=3, W=3, U=0, E=0)
2020/03/26 10:33:01 - 复制记录到结果.0 - 完成处理 (I=0, O=0, R=3, W=3, U=0, E=0)
2020/03/26 10:33:01 - j1 - 开始项[JavaScript]
2020/03/26 10:33:01 - j1 - 开始项[检验字段的值]
2020/03/26 10:33:01 - j1 - 开始项[写日志]
2020/03/26 10:33:01 - 输出 - ---0
---[[1], [Kevin], [2], [Helena], [3], [Lucy]]
---Kevin
2020/03/26 10:33:01 - j1 - 开始项[JavaScript 2]
2020/03/26 10:33:01 - j1 - 开始项[检验字段的值]
2020/03/26 10:33:01 - j1 - 开始项[写日志]
2020/03/26 10:33:01 - 输出 - ---1
---[[1], [Kevin], [2], [Helena], [3], [Lucy]]
---Helena
2020/03/26 10:33:01 - j1 - 开始项[JavaScript 2]
2020/03/26 10:33:01 - j1 - 开始项[检验字段的值]
2020/03/26 10:33:01 - j1 - 开始项[写日志]
2020/03/26 10:33:01 - 输出 - ---2
---[[1], [Kevin], [2], [Helena], [3], [Lucy]]
---Lucy
2020/03/26 10:33:01 - j1 - 开始项[JavaScript 2]
2020/03/26 10:33:01 - j1 - 开始项[检验字段的值]
2020/03/26 10:33:01 - j1 - 开始项[Dummy]
2020/03/26 10:33:01 - j1 - 完成作业项[Dummy] (结果=[false])
2020/03/26 10:33:01 - j1 - 完成作业项[检验字段的值] (结果=[false])
2020/03/26 10:33:01 - j1 - 完成作业项[JavaScript 2] (结果=[false])
2020/03/26 10:33:01 - j1 - 完成作业项[写日志] (结果=[false])
2020/03/26 10:33:01 - j1 - 开始项[Dummy 2]
2020/03/26 10:33:01 - j1 - 完成作业项[Dummy 2] (结果=[true])
2020/03/26 10:33:01 - j1 - 完成作业项[检验字段的值] (结果=[true])
2020/03/26 10:33:01 - j1 - 完成作业项[JavaScript 2] (结果=[true])
2020/03/26 10:33:01 - j1 - 完成作业项[写日志] (结果=[true])
2020/03/26 10:33:01 - j1 - 开始项[Dummy 2]
2020/03/26 10:33:01 - j1 - 完成作业项[Dummy 2] (结果=[true])
2020/03/26 10:33:01 - j1 - 完成作业项[检验字段的值] (结果=[true])
2020/03/26 10:33:01 - j1 - 完成作业项[JavaScript 2] (结果=[true])
2020/03/26 10:33:01 - j1 - 完成作业项[写日志] (结果=[true])
2020/03/26 10:33:01 - j1 - 开始项[Dummy 2]
2020/03/26 10:33:01 - j1 - 完成作业项[Dummy 2] (结果=[true])
2020/03/26 10:33:01 - j1 - 完成作业项[检验字段的值] (结果=[true])
2020/03/26 10:33:01 - j1 - 完成作业项[JavaScript] (结果=[true])
2020/03/26 10:33:01 - j1 - 完成作业项[转换] (结果=[true])
2020/03/26 10:33:01 - j1 - 任务执行完毕
2020/03/26 10:33:01 - Spoon - 任务已经结束.

2. 关于Kettle中JavaScrpit的使用

官网文档地址

.action?pageId=4358187

本文发布于:2024-02-08 19:51:05,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170739318668497.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:Kettle
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23