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.结果



总结

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

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



目录
相关文章
|
数据采集 Oracle 关系型数据库
kettle开发-循环驱动作业
kettle开发-循环驱动作业
548 0
|
JavaScript 前端开发 数据库
Kettle使用脚本实现循环(十)
Kettle使用脚本实现循环(十)
1899 0
Kettle使用脚本实现循环(十)
|
调度
kettle开发篇-写日志
kettle开发篇-写日志
1080 0
|
XML 存储 网络协议
kettle开发篇-Http client
kettle开发篇-Http client
1280 0
kettle开发篇-参数
kettle开发篇-参数
386 0
|
数据库连接 数据库
kettle开发篇-数据库查询
kettle开发篇-数据库查询
418 0
|
数据采集 数据挖掘
kettle开发-数据清洗之字符串替换
kettle开发-数据清洗之字符串替换
635 2
|
数据采集 数据库
Kettle之错误处理(Error Handling)里面的坑
Kettle之错误处理(Error Handling)里面的坑
|
SQL 关系型数据库 MySQL
ETL工具 Kettle 中怎么通过变量传参
ETL工具 Kettle 中怎么通过变量传参
1036 0