likes
comments
collection
share

ETL工具 Kettle 中怎么通过变量传参

作者站长头像
站长
· 阅读数 43

第一章 ETL工具 Kettle 中怎么通过变量传参

文章目录


前言

作为一个数据产品经理,什么都要会点,今天就说下 Kettle ,大企业的数据开发职位用的会比较多。但 Kettle 核心对象用的最频繁 不会超过 10个 一般主要 有2种 转换 : 表输入,表输出 ,执行 sql 脚本 ,邮件(提醒),变量(传参)。 作业: start ,作业,转换,成功。

下面我来举个例子我最简单的方法告诉大家 太基础的我就不说了,本示例请先安装好 Kettle(8.0以上版本) 和MySQL 数据库

一、新建示例用的表

请在mysql 下执行 

 drop table movies
 drop table ods_movies
  
CREATE TABLE `movies` (
  `yyyy_mm_dd` Date DEFAULT NULL,
  `movies_name` varchar(50) DEFAULT NULL,
  `total_gross` double DEFAULT NULL,
  `currency` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

CREATE TABLE `ods_movies` (
  `yyyy_mm_dd` Date DEFAULT NULL,
  `movies_name` varchar(50) DEFAULT NULL,
  `total_gross` double DEFAULT NULL,
  `currency` varchar(50) DEFAULT NULL,
  `etl_time` Datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

insert into movies(yyyy_mm_dd,movies_name,total_gross,currency)
values 
('2019/7/1','《复仇者联盟:终局之战》','2885000000','USD'),
('2015/12/1','《星球大战:原力觉醒》','2486000000','USD'),
('2019/12/1','《星球大战:天行者崛起》','1085000000','USD'),
('2018/6/1','《超人总动员2》','1243000000','USD'),
('2016/11/1','《海底总动员2:多莉去哪儿》','1053000000','USD'),
('2017/3/1','《美女与野兽》','1263000000','USD'),
('2019/9/1','《狮子王》','1106000000','USD'),
('2019/8/1','《美国队长3:内战》','1157000000','USD'),
('2018/2/1','《黑豹》','1345000000','USD')

说明:如果要用 MYSQL 8.0建立数据仓库 建议表引擎用ENGINE=MyISAM ,原理这里就不说的,懂的都懂。😃

二、使用

1.新建转换-时间变量

ETL工具 Kettle 中怎么通过变量传参

2.转换中加入表输入

ETL工具 Kettle 中怎么通过变量传参 ETL工具 Kettle 中怎么通过变量传参

select yyyy_mm_dd as 'cur_day' from movies where yyyy_mm_dd='2019-07-01'
///这里将字段名先设置为 cur_day

3.设置变量

ETL工具 Kettle 中怎么通过变量传参 ETL工具 Kettle 中怎么通过变量传参

这个将 变量名设置为 CUR_DAY 变量活动类型设置为 :Valid in the Java Virtual Machine

4.变量设置完成

ETL工具 Kettle 中怎么通过变量传参

5.再新建转换-传参数插入表

ETL工具 Kettle 中怎么通过变量传参 拖入 表输入和 表输出

6.传参数插入表-表输入

ETL工具 Kettle 中怎么通过变量传参

select yyyy_mm_dd,movies_name ,total_gross ,currency ,
now() as 'etl_time'
from movies where yyyy_mm_dd='${CUR_DAY}'

替换SQL语句里的变量这个很重要已经要勾上

7.传参数插入表-表输出

ETL工具 Kettle 中怎么通过变量传参目标表 ods_movies 目标是 将 movies表数据输出到 ods_movies表中 ETL工具 Kettle 中怎么通过变量传参

8.新建作业

在通用里面拖入 3个对象, ETL工具 Kettle 中怎么通过变量传参 ETL工具 Kettle 中怎么通过变量传参

9.执行作业和保存

ETL工具 Kettle 中怎么通过变量传参 ETL工具 Kettle 中怎么通过变量传参 ETL工具 Kettle 中怎么通过变量传参

10.数据库结果

ETL工具 Kettle 中怎么通过变量传参

总结

以上就是今天要讲的内容,本文仅仅简单介绍了变量的基础使用。希望可以帮助到 一些朋友。

转载自:https://juejin.cn/post/7347910678097035305
评论
请登录