Kettle实现循环

转换1=》核心控件[复制记录到结果]

转换2=》核心设置[设置命名参数]

job1=》

核心设置:

1)高级[勾选“复制上一步结果到命名参数”;勾选“执行每一个输入行”]

2)命名参数:

设置命名参数,同时对应流列名

时间: 2024-10-06 12:08:36

Kettle实现循环的相关文章

etl工具,kettle实现循环

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,绿色无需安装,数据抽取高效稳定. 业务模型: 在关系型数据库中有张很大的表,被设计成奇偶库存储,每个库100张一模一样的表,每张表存储1000W,字段切换到下一个表.现需要同步这个数据到hive中(hdfs),循环抽取这些数据.如果是抽取增量的带上增量字段(每天增量数据存储在哪个表,奇数库还是偶数库是不知道的). a sqoop直接从mysql到hive,这样有些特殊字符会导致sqoop异常终

Kettle 中的循环

说道循环,小伙伴们肯定不陌生,就是重复干一件事:而kettle中的循环一般是发生在job中,因为job是串行执行的: kettle的循环有两种,一种是通过js脚本,另外一种是通过遍历前面步骤返回的每一行. 下面是我写的伪代码,我将使用Kettle来实现这段代码: array = ['sys1','sys2','sys3','sys4'] for variable in array:     if variable == 'sys1' :         print('%s被调用'%(variab

kettle的job中使用循环

 job中使用循环 在一个不稳定的网络环境下作文件传输.偶尔会有超时或连接重置.这时须要稍等片刻再重试.在重试10次之后放弃并结束该job.类似使用循环解决这类问题. 该演示样例job演示了这样的循环场景.文件传输步骤被虚拟的场景(随机数产生成功机率为10%)取代,成功即写日志报告成功.其它90%报告失败日志报告失败并继续,最多执行10次:点击下载演示样例: d 请同意我提醒一句.解决在之前不能确定循环运行次数的的情景下,使用本例中方法.假设是已知的循环次数或循环次数时可计算的,最好在单独的

kettle 6.1 按时间循环增量抽取数据

场景:假设有一张表数据量很大,需要按一个时间来循环增量抽取 方法:主要是通过JOB自身调用,实现循环调用,类似于 函数自调用 的循环. 1.JOB全图: 2.获取增量时间,并设置增量时间环境变量 3.通过增量环境变更,获取本次 增量数据 4.判断增量时间是否大于当前时间,判断是否继续执行一次的增量 5.调用总JOB自身,实现循环调用

关于kettle中作业循环的设置

循环是出现在作业中的概念,因为转换里的步骤是并行执行的,所以循环对它来说没什么意义.循环的需求肯定是"我想执行多次某个作业(转换)". 得到这样的需求,我们可以通过两种方式完成.一种是使用js脚本的方式,配合"条件判断"作业项来完成循环,因为这种方法太过复杂,所以不在本节详细描述. 下面介绍一种方法可以直接对作业或者转换进行循环.避免在作业中产生更多的作业项. 做这个实验需要两个转换和一个作业.他们分别如下: Jb_Test_Cycle_2 :整体调度,包括了Tr_

Kettle变量和自定义java代码的实例应用

1  kettle.properties参数配置数据源连接和FTP连接 由于测试环境和生产环境中数据库连接FTP等配置会在部署过程中变更,所以预先定义成配置项,在配置文件中修改,这样测试和发布将会变得简单,下面以数据库为例说明这类配置的使用. (1)      首先要找到配置文件,不同的操作系统路径也不一样,本人用win7进行开发,配置文件的路径为"C:\Users\chenpeng\.kettle\kettle.properties",如下: (2)      配置文件中的具体配置如

kettle中调用java类

有时需要在kettle调用java类,如:验证.查询或自定义加密等.有时甚至连基本的数据访问都不那么简单,如获取一个存储文件或使用一个数据库连接,某些数据源可能封装在应用程序中,手工使用自定义的java客户端访问是唯一的方法.本文介绍如何在kettle中调用java类.示例代码在这里下载. 注:如果你使用kettle4.0及以上版本,也你也可以使用user defined java class 步骤实现.   Modified Java ScriptValue 步骤 关键要在kettle中使用M

kettle中实现动态SQL查询

kettle中实现动态SQL查询 在ETL项目中,通常有根据运行时输入参数去执行一些SQL语句,如查询数据.本文通过kettle中的表输入("table input")步骤来说明动态查询.参数查询.示例代码使用内存数据库(H2),下载就可以直接运行,通过示例学习更轻松. SQL查询语句中占位符绑定字段值 第一个接近动态语句的是大家熟悉的从SQL代码中执行,开始写一个SQL查询,包含一些占位符,然后绑定值到占位符,使之成为一个有效的查询并执行.根据需要可以绑定多个值并循环执行.本示例的名

以连接为例 说明Kettle和SQL处理数据的区别

首先声明本人不懂Java,只是从执行结果推测Kettle的处理机制,有不对的地方,还请多多指教. 据我推测:SQL对数据的处理是批量处理的,而Kettle对数据的处理是逐行处理的. 先理解一下meger(合并)和join(连接),假设A表两个字段,B表两个字段 meger: 结果为两个字段. join: 结果为4个字段. 下面从Kettle中的连接与合并,说明Kettle与SQL的区别.因为Kettle是逐行处理的,所以做连接前一定要根据关键字排好序. 1. Join Rows (cartesi