ETL工具Kettle的使用,各个控件作用

1、ETL 工具(kettle)
下载:https://community.hitachivantara.com/s/article/data-integration-kettle
2、解压
kettle目录文件
classe:生命周期监听,注册扩展、日志的配置文件
Data integration app:数据集成应用
Data Server JDBC Driver :jdbc驱动程序的数据服务
docs : docs 文档
launcher : kettle的启动服务
lib:支持库jar包
libswt:kettle图像库jar
plugins:plugins 插件
pwd: kettle 集群配置文件
simples: 自带例子
simple-jndi:连接配置
system:系统目录
ui:软件界面
carte.bat/Carte.sh 启动集群命令
Encr.bat/Encr.sh  kettle提供的加密算法
import.bat/import.sh 导入命令
kitchen.bat/kitchen.sh 运行job的命令

pan.bat/pan.sh 运行转换的命令
set-pentaho-env.bat 设置环境变量的脚本

Spoon.bat 启动kettle UI 界面
SpoonDEbug.bat  以debug的方法是运行kettle
3、安装
(1)首先安装jdk
(2)启动spoon.bat
4、设置环境变量 
kettle_HOME  D:\pdi-ce-8.3.0.0-371\data-integration
path  %kettle_HOME%
5、事例1 csv->excle
   input->output   按住shift键将两个图像相连
   点击开始执行
6、转换
转换是ETL解决方案中最主要的部分,他处理抽取转换加载各种对数据的操作
转换包含一个或多个步骤(step),如读取文件,过滤数据行,数据清洗或将数据加载到数据库
转换里的步骤通过跳(hop)来连接,跳定义一个单向通道,允许数据从一个步骤向另一个步骤流动
在kettle里,数据的单位是行,数据流就是数据行从一个步骤到另一个步骤的移动。
数据流有事也称为记录流。
7、文本文件输入
8.excle输出
9.文本文件输出(.txt,.csv)
主体对象树可以实现文件共享
10.SQl文件输出(表结构和数据)
11.excle输入->表输出
12.更新(把数据库已经存在的记录与数据流里面的记录进行对比,如果不同进行更新) 注意:如果记录不存在则会出现错误
13.插入更新(应用场景更多)
14.自定义常量数据  (自定义常量数据(input)->删除(删除表里面的数据))
15.转换控件(清洗)
(1)concat Fields  就是多个字段连接成一个新的字段
excle输入--->concat Fields--->excle输出
(2)值映射(值映射就是把字段里面的值映射成其他的值)
例:从excle中读取数据,并把gender里面的f和m转换为female和male,写入到excle文件
excle输入--->值映射----->excle输出
(3)增加常量
增加常量就是在本身的数据流里面添加一列数据,该列的数据都是相同的值
(4)增加序列
增加序列就是给数据流添加一个序列字段
(5)字段选择(删选字段)
字段改名和移除不需要的字段
(6)计算器
大小写替换   3个字段运算    数值相加  移除被合并字段
输入--->计算器--->输出
(7)字符串__剪切 __操作__ 替换
字符串操作是去除字符串两端的空格和大小写切换,并生成新字段
excle输入---->字符串剪切---->字符串替换--->字符串操作-->excle输出
(8)去除重复记录+排序记录
排序记录   
从excle中读取数据,去除重复记录,并保存到excle
excle输入-->排序记录-->去除重复记录-->excle输出
(9)唯一行哈希值(就是删除数据流重复的行)  效率高
excle输入--唯一行哈希值--->excle输出
(10)拆分字段(就是把字段按照分隔符拆分成两个或多个字段)
注意:拆分字段后,原字段就不存在数据流中
excle输入-->拆分字段--->excle输出
(11)列拆分为多行(就是把指定分隔符的字段进行拆分为多行)
CSV输入--->列拆分为多行--->excle输出

(12)列换行(需要对数据流进行排序处理)
列转行就是如果数据一列有相同的值,按照指定的字段,把多行数据转换为一行数据
去除一些原来的列名,把一列数据变为字段

(13)行专列就是把字段的字段名转换为一列,把数据行变为数据列
(14)行扁平化
16.应用
(1)替换NULL值
(2)写日志(调试时使用)
17.流程
(1)Switch-case流程就是转换里面的第六个分裂   (一路到多路)
流程主要用来控制数据流程和数据流向.
(2)过滤记录  (一路到两路)(if--else)
(3)空操作 空操作一般作为数据流的终点
(4)中止 校验数据时使用
18.查询分类
查询就是用来查询数据源里面的数据合并到主数据流中.
(1)HTTpClient
httpClient是使用get的方式提交请求,获取返回页面的内容


 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞腾创客

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值