Kettle循环获取结果集

2023-10-31

1. Kettle循环获取结果集

1.1 效果图

  • job(j1.kjb)

在这里插入图片描述

  • t1(t1.ktr)

在这里插入图片描述

1.2 转换介绍

  1. 自定义常量数据

在这里插入图片描述

在这里插入图片描述

  1. 写日志

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

在这里插入图片描述

  1. 复制记录到结果集

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

1.3 job介绍

  1. 转换

在这里插入图片描述

  1. JavaScript
var prevRow=previous_result.getRows();//获取上一个传递的结果
if (prevRow == null &&(prevRow.size()=0))
{
    false;

}else{
    parent_job.setVariable("tables", prevRow);//ArrayList存储表名变量,以数组形式保存入table1,table2
    parent_job.setVariable("size", prevRow.size());//存储执行表的总数量
    parent_job.setVariable("i", 0);//循环控制变量
	parent_job.setVariable("name", prevRow.get(0).getString("name", ""));
    true;

}
  1. 检验字段的值

在这里插入图片描述

  1. 写日志

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

在这里插入图片描述

  1. JavaScript2
var prevRow=previous_result.getRows();
var size = new Number(parent_job.getVariable("size"));
var i = new Number(parent_job.getVariable("i"))+1;
if(i<size){
    parent_job.setVariable("name", prevRow.get(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的使用

官网文档地址

https://wiki.pentaho.com/pages/viewpage.action?pageId=4358187

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kettle循环获取结果集 的相关文章

  • Kettle循环获取结果集

    文章目录 1 Kettle循环获取结果集 1 1 效果图 1 2 转换介绍 1 3 job介绍 1 4 运行job结果 2 关于Kettle中JavaScrpit的使用 1 Kettle循环获取结果集 1 1 效果图 job j1 kjb
  • 金融数据时间序列分析——模型准确率过高怎么办

    多少年后 小f想起了自己还是刚刚出道的小萌新时候犯的一个错误 当时模型的准确率贼高 高的离谱 就像下面这种情况 precision recall f1 score support 1 1 1 1 1934 0 1 1 1 535 1 1 1
  • Python读取csv文件的三种方式

    一 前期准备 Python版本 3 7 3 制作一个不包含头文件的csv文件 为了方便文件内容是纯数字 字符集为utf 8 并命名为test csv 放到程序的根目录下 使用PyCharm创建一个Python工程 并安装Numpy和Pand
  • pandas数据处理大全(必备)

    目录 文章目录 目录 pandas读取文件 pandas存储文件 pandas处理空值和缺失值 pandas创建空dataframe dataframe索引值的修改 dataframe选择行与列 dataframe转置 dataframe添
  • UnicodeDecodeError:gbk codec can’t decode byte 0xff in position 0: illegal multibyte sequence

    在批量处理XML txt 文件时遇到了问题 UnicodeDecodeError gbk codec can t decode byte 0xff in position 0 illegal multibyte sequence 网上有个帖
  • 凸优化学习(六)——一个简单的对偶实例

    注意 本文内容来自于吴恩达老师cs229课堂笔记的中文翻译项目 https github com Kivy CN Stanford CS 229 CN 中的凸优化部分的内容进行翻译学习 2 一个简单的对偶实例 作为对偶的一个简单应用 在本节
  • 【知识图谱】神经网络综述

    概述 近年来随着计算机硬件的发展 神经网络作为机器学习中不可获取的一部分在预测 分类 图像分割 识别等方向得到了极其广的应用 然而其网络模型多 数学基础涉及广 使得其门槛较高 好在目前有诸如tensorflow pytorch sklear
  • 时序预测

    时序预测 MATLAB实现时间序列回归之评估模型残差及统计分布 目录 时序预测 MATLAB实现时间序列回归之评估模型残差及统计分布 基本介绍 程序设计 异方差性 统计分布 学习总结 参考资料 致谢 基本介绍 残差分析的基本目的是检查 CL
  • python导出时序数据精度缺失解决办法(对时序数据重采样)

    源码 import pandas as pd 导入数据 parse dates True 将时间转换成时间类型的索引 df pd read excel D 机器人采集数据样本 xlsx index col 时间 parse dates Tr
  • Python解析XML示例与解释

    使用工具包xml解析 python自带的工具 可以直接使用 使用示例如下 文章目录 简单案例 nodeType对应数字及其含义 简单案例
  • Tableau Prep 数据处理工具使用入门

    1 什么是Tableau Prep 2018 04 Tableau 推出全新的数据准备产品 Tableau Prep 主要用户定位于如何帮助人们以快速可靠的方式对数据进行合并 组织和清理 进一步缩短从数据获取见解所需的时间 简而言之 Pre
  • Numpy计算分母为n-1的修正方差(贝塞尔校正)

    对于一个序列值 import numpy as np arr value np array 1 2 3 通常方法 一般的计算方法计算的方差 0 666666666 计算公式如下 s 2 1
  • Adaboost

    基本原理 基本原理就是将多个弱分类器结合 形成一个强分类器 Adaboost采用迭代的思想 每次迭代只训练一个弱分类器 训练好的弱分类器将参与下一次迭代的使用 也就是说 在第N次迭代中 一共就有N个弱分类器 其中N 1个是以前训练好的 其各
  • 网贷风控体系之-风控模型

    网贷风控体系之 风控模型 大数据风控模型主要分为两类 反欺诈模型 交叉验证 聚类分析 黑灰名单 二元好坏模型 准入阶段 授信额度期限利率模型 评分卡模型 LR XGBoost 贷中阶段 风险变化评估 风险预警 贷后阶段 催收时机 催收方法
  • 记录解压zip文件

    zip文件有30G unzip不能用 改用jar解压 unzip 解压 JPEGImages zip 文件时 异常提示如下 Archive dataset test rgb zip End of central directory sign
  • 解决pandas链式赋值警告SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a .....

    完整报错 opt anaconda3 envs quant learn lib python3 7 site packages pandas core series py 1056 SettingWithCopyWarning A valu
  • 腾讯云微计算实践:从Serverless说起,谈谈边缘计算的未来

    欢迎大家前往云 社区 获取更多腾讯海量技术实践干货哦 作者 黄文俊 腾讯云高级产品经理 曾经历过企业级存储 企业级容器平台等产品的架构与开发 对容器 微服务 无服务器 DevOps等都有浓厚兴趣 由 腾讯云serverless团队 发布在
  • 【MATLAB第31期】基于MATLAB的降维/全局敏感性分析/特征排序/数据处理回归问题MATLAB代码实现(持续更新)

    MATLAB第31期 基于MATLAB的降维 全局敏感性分析 特征排序 数据处理回归问题MATLAB代码实现 持续更新 本文敏感性分析主要分析回归问题 下期分析分类问题 fisher rf arf nca等 内容更新 增加视频解说 基于MA
  • mysql 修改执行delect/update时报错(安全模式)

    MySql运行在safe updates模式下 会导致非主键条件下无法执行update或者delete命令 解决方法 执行命令 关闭安全模式 SET SQL SAFE UPDATES 0 数据处理之后 最好恢复安全模式 SET SQL SA
  • Matplotlib快速入门,Python通用的绘图工具库上手

    Matplotlib是一个用于Python编程语言的综合性绘图库 它可以生成各种类型的图表 包括折线图 条形图 散点图 直方图 饼图等 Matplotlib支持多种数据格式 包括NumPy数组 Pandas DataFrame和CSV文件

随机推荐

  • vue 显示txt显示到页面_CDR页面“外”的内容在每个页面外都显示的方法

    前言 正常情况下 CDR软件中页面外的为 桌面 在哪个页面可以看到的 但是有粉丝反应 在CDR 2019版本中 将第一页的内容拖出页面以外时 在第二页面是看不到这些内容的 X4版有时也会这样 今天小编给大家分享CDR X4和2019版页面
  • snprintf函数使用

    int snprintf char restrict buf size t n const char restrict format 函数说明 最多从源串中拷贝n 1个字符到目标串中 然后再在后面加一个0 函数返回值 若成功则返回写入的字符
  • redis set zset key 常用命令

    list 可以重复 set不可以 list 有序 set元素位置无序 key常用命令 1 存储数据 sadd key member member 获取的结果是无序的 2 获取数据 获取全部数据 smembers key 3 随机获取一个数据
  • 书剑宠物疫苗接种管理软件操作教程

    软件简介 书剑宠物疫苗接种管理软件是一款宠物疫苗接种管理的工具 适合宠物诊所使用 具有动物主人建档 宠物疫苗接种登记管理 每日提醒 打印疫苗接种通知卡 自定义短信提醒模板等完善的功能 另外本软件的特色是同时具有手机网页版功能 手机扫一扫即能
  • 神经网络:多层感知机-MLP

    参考别人的 别看了 我自己做笔记玩的 最基本的神经网络 MLP 相应的变种的神经网络 误差反向传播 Back Propagation BP 神经网路 概率神经网络 卷积神经网络 Convolutional Neural Network CN
  • 有一行电文,已按以下规律译成密码: A-Z a-z B-Y b-y C-X c-x,即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。要求编程将密码译回原文,并

    有一行电文 已按以下规律译成密码 A Z a z B Y b y C X c x 即第一个字母变成第26个字母 第i个字母变成第 26 i 1 个字母 非字母字符不变 要求编程将密码译回原文 并输出密码和原文 include
  • requests中header的介绍及使用

    文章目录 在我们的学习工作中 写代码做一个简单的接口测试的时候 就会发现 即使是发送了一个post或get请求 但是系统提示我非法参数 无效请求 为什么呢 因为有一些系统或者网站对于请求做出一系列的反爬虫机制 他会效验你的header 是不
  • 多线程伪共享(false sharing)问题分析

    include
  • JUC AQS ReentrantLock源码分析(一)

    Java的内置锁一直都是备受争议的 在JDK 1 6之前 synchronized这个重量级锁其性能一直都是较为低下 虽然在1 6后 进行大量的锁优化策略 但是与Lock相比synchronized还是存在一些缺陷的 虽然synchroni
  • 区块链技术是未来的必选项?

    现如今 区块链技术为人类提供了一个可能的应对方案 我们不能禁止谁去创造什么样的人工智能 但是我们可以通过区块链技术对发展的进度进行追踪与评估 它们可能是全心全意要做造福人类的事情 但问题是很多的过程会出错 如果能够要求大家把制造AI的方法和
  • Linux(三):系统启动、目录结构与文件属性

    目录 系统启动 内核引导 运行 init 运行级别 系统初始化 建立终端 图形模式与文字模式 系统目录结构 运行 指令集合 外部文件管理 系统启动 扩展 临时文件 账户 文件基本属性 更改属性 chgrp 更改属组 chown 更改属主 属
  • 【软件工程基础复习整理】第四章需求分析(4)IDEF1X数据建模

    IDEF1X数据建模 实体时具有相同属性或特征的显示或抽象事实的结合 这个集合的一个元素便称为实体的一个实例 在一张IDEF1X图中 一个实体只能在图中出现一次 可标定联系 子实体的存在依赖于父实体的存在 不完全分类联系 可能存在一个实例属
  • 字典的使用

    文章目录 字典 新建 方法一 方法二 dict 增 方法一 dict key value 方法二 setdefault key value 删 方法一 pop 方法二 popitem 方法三 clear 改 方法一 dict key val
  • 5个可以网上赚钱的副业,聪明人早就开始做了,现在了解也不迟!

    大家好 我是项目小编 每天给大家分享网上赚钱项目和互联网干货 随着互联网发展越来越快 很多的人都想在网络上赚钱 那么网络上有哪些靠谱的赚钱方法呢 下面小编就给大家分享几个网络上常见的正规靠谱的赚钱方法 一 玩游戏赚钱 很多人听到玩游戏都会说
  • 【Matlab代码】图像的小波分解和重构实现

    一 原理 MATLAB中实现图像分解和重构的命令主要有dwt2 idwt2 和 wavedec2 waverec2 其中 进行一层小波分解的命令为dwt2 对应的小波重构命令为idwt2 进行多层分解的命令为wavedec2 对应的重构命令
  • git checkout XXX error: Your local changes to the following files would be overwritten by 解决方案

    0 问题现象描述 当我们在使用git checkout 命令时 如果本地有修改的代码没有提交 则无法切换分支 git会提示你本地有未提交的代码 本地修改会被覆盖 git checkout review0329 error Your loca
  • 阿里榜单&常见标识

    上星期有很多小伙伴们也发现了阿里的Most Popular on Alibaba的变化 但是还是有部份的小伙伴不太了解 今天柒哥带领伙伴们去深入了解一些阿里常见的榜单以及普及下阿里常见一些标志代表的含义 首先让我们先了解下这个Popular
  • spark使用实现

    为什么80 的码农都做不了架构师 gt gt gt spark启动 spark shell master local 2 spark实现wc val file sc textFile file home hadoop data hello
  • ESP32S3学习——SPI

    芯片 esp32 开发环境 espidfv4 4 一 官网相关资料 又是英文 1 简介 SPI 没啥信息 跳过 2 esp32s3 SPI外设介绍 ESP32 S3集成了4个SPI外围设备 emm 实际能用的是两个 SPI0和SPI1在内部
  • Kettle循环获取结果集

    文章目录 1 Kettle循环获取结果集 1 1 效果图 1 2 转换介绍 1 3 job介绍 1 4 运行job结果 2 关于Kettle中JavaScrpit的使用 1 Kettle循环获取结果集 1 1 效果图 job j1 kjb