ETL工具 Kettle 中 kettle循环传递变量_(最简单的方法)

简介: 本文详细介绍了如何在Kettle工具中使用循环传递变量,通过示例展示了如何将movies表数据按月插入到ods_movies表,涉及新建转换、获取变量、作业配置和执行,呈现了一个嵌套作业结构.

第二章 ETL工具 Kettle 中循环传递变量


前言

Kettle 中循环传递变量,在企业中最直接应用就是数仓重跑数据。

CSDN 也看了一些,我这里举一个最简单的示例。

一、新建示例用的表

具体见 我的上一篇,使用的表还是 之前的2张表ods_movies和 movies

本示例的目的是将movies 表的数据循环 insert到 ods_movies 表中


二、使用

1.新建转换 循环列表

加2个对象 表输入 和 复制记录到结果


select DATE_FORMAT(yyyy_mm_dd, '%Y-%m-%d') as 'cur_month' from  movies where year(yyyy_mm_dd)='2019'


到这里 循环列表转换就建好了。

2.新建转换 获取每一行变量

新建2个对象,如下


这个将 变量名设置为 CUR_MONTH

变量活动类型设置为 :Valid in the Java Virtual Machine

3.新建作业 执行每一行


'可以看到 这个记录每次只能insert 一条 记录' 
insert into ods_movies
select yyyy_mm_dd,movies_name,total_gross,currency,now() as 'etl_time'
from movies where yyyy_mm_dd='${CUR_MONTH}'

4.新建作业名循环执行

配置循环列表如下

配置执行每一行

注意执行每一个输入行需要打✔


5.执行

如下图

6.结果



总结

以上就是今天要讲的内容,这个可以理解是一个嵌套的关系

作业里含了另一个作业,然后让这个作业执行每一个输入行



目录
相关文章
|
7月前
|
SQL
kettle开发篇-参数
kettle开发篇-参数
153 0
|
7月前
|
数据采集 Oracle 关系型数据库
kettle开发-循环驱动作业
kettle开发-循环驱动作业
210 0
|
7月前
|
数据库连接 数据库
kettle开发篇-流查询
kettle开发篇-流查询
173 0
|
JavaScript 前端开发 数据库
Kettle使用脚本实现循环(十)
Kettle使用脚本实现循环(十)
1584 0
Kettle使用脚本实现循环(十)
|
2月前
|
SQL 关系型数据库 MySQL
ETL工具 Kettle 中怎么通过变量传参
ETL工具 Kettle 中怎么通过变量传参
75 0
|
7月前
|
存储 Java API
Flink中的状态管理是什么?请解释其作用和常用方法。
Flink中的状态管理是什么?请解释其作用和常用方法。
87 0
|
7月前
|
Oracle 关系型数据库
kettle开发篇-替换空值
kettle开发篇-替换空值
324 0
|
7月前
|
数据库
kettle开发篇-映射
kettle开发篇-映射
167 0
|
SQL Oracle 关系型数据库
基于变量方式实现kettle快速循环迁移表数据(八)
基于变量方式实现kettle快速循环迁移表数据(八)
376 0
基于变量方式实现kettle快速循环迁移表数据(八)