ETL工具-KETTLE教程 实例实战4----转换(值映射、列转行,增加常量、增加序列等)
附:Kettle实战视频教程,需要的朋友可以看看学习下哈~~
- kettle实战第一讲-文件和数据库表的互相转换处理_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
- kettle实战第二讲-数据库单表的全量同步_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
- kettle实战第三讲-数据库单表的增量同步_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
- kettle实战第四讲-同步错误原因记录到数据库日志表_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
- kettle实战第五讲-多个数据库表融合到一个数据库业务表_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
- kettle实战第六讲-比较不同的数据库表进行数据的一致性处理_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
- kettle实战第七讲-通过配置文件做表的全量同步,一个作业统统搞定_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
- kettle实战第八讲-通过配置文件做数据表的增量同步,一个作业统统搞定_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
- kettle实战第九讲-通过配置文件做表的全量同步_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
- kettle实战第十讲-windows下的kettle作业调度_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
- kettle实战第十一讲-Linux下的kettle作业调度_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
接着上一讲,讲完了常用的输入、输出控件后,这一节我们来讲下常用的转换控件,如下图:

3、转换
3.1 值映射:将一个数据流的内容,转换成另外的数据流,并输出。作用如同sql语句中的decode函数。

此处用到三个控件,表输入、表输出(可以参考前面的内容)和值映射。三个控件用hop线进行连接。
双击值映射,如上图所示配置好相应的源值和目标值,通过连线从A表连接到B表。运行结果如下:

3.2 列转行:将二维数据流的其中1列数据,转换为行(也就是列转换为行的表头),在根据关键字段进行展示。

此处用到两个控件,表输入(可以参考前面的内容)和列转行。两个控件用hop线进行连接。
双击列转行,如上图所示配置好关键字段、构成分组的字段和目标字段。运行结果如上图步骤4。
3.3 剪切字符串:如同各种数据库的substr函数,用处不大可以忽略。

3.4去除重复记录:根据某个字段进行剔重,类似于sql语句中的distinct

此处用到两个控件,表输入(可以参考前面的内容)和去除重复记录。两个控件用hop线进行连接。
表输入需要先按照比较字段进行排序,如上图所示配置好计数器字段和用来比较的字段。运行结果如上图步骤3
3.5 增加常量、增加序列:增加常量和增加数据库序列

如上图所示,配置好常量值和序列值,即可生成
3.6 字段选择:将上一步骤数据流中的数据进行格式转换(主要用于时间的转换)

此处用到两个控件,表输入(可以参考前面的内容)和字段选择。两个控件用hop线进行连接。
表输入中存在包含时间的字段(可以看到不是按照标注的日期时间格式输出),如下左图,选择cjsj时间进行转换候。运行结果如下右图:

3.7 字符串操作:如同各种数据库的各种字符串处理函数,用处不大可以忽略
3.8 字符串替换:如同各种数据库的replace函数,用处不大可以忽略
3.9 拆分字段:如同各种数据库的split函数,将字段按照分隔符拆分成多个字段

此处用到两个控件,表输入(可以参考前面的内容)和拆分字段。两个控件用hop线进行连接。
拆分字段选择需要拆分的字段、分隔符、和拆分后的字段,点击运行。运行结果如下图:

接着上一讲,讲完了常用的转换控件后,接下来我们来讲下常用的应用控件,如下图:

4、转换
4.1 写日志 可以通过写日志,将上一个数据流中日志信息打印出来,可以设置具体的日志级别

如上图所示,配置好日志头信息,设置好日志级别,打印相应的日志
往期文章:
注意:因某些限制,最新源代码和后续通用配置实现数据抽取 已放置在笔者公众号上,请关注微信公众号: 【JAVA大师】, 回复关键字:【KETTLE】,获取kettle安装程序和运行实例(表结构和kjb、ktr文件)。
同时笔者原创了一套视频教程:现免费发放100套,先到先得。获得方法:扫描下方二维码,关注获得

ETL工具-KETTLE教程 实例实战4----转换(值映射、列转行,增加常量、增加序列等)的更多相关文章
- ETL工具-KETTLE教程专栏1----术语和定义
1-资源库 资源库是用来保存转换任务的,用户通过图形界面创建的的转换任务可以保存在资源库中. 资源库可以使多用户共享转换任务,转换任务在资源库中是以文件夹形式分组管理的,用户可以自定义文 ...
- 开源ETL工具kettle系列之常见问题
开源ETL工具kettle系列之常见问题 摘要:本文主要介绍使用kettle设计一些ETL任务时一些常见问题,这些问题大部分都不在官方FAQ上,你可以在kettle的论坛上找到一些问题的答案 1. J ...
- 大数据之ETL工具Kettle的--1功能介绍
Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行. 说白了就是,很有必要去理解一般ETL工具必备的特性和功能,这样才更好的掌握Kettle的使用. ...
- 可用于Hadoop下的ETL工具——Kettle
看大家分享了好多hadoop相关的一些内容,我为大家介绍一款ETL工具——Kettle. Kettle是pentaho公司开源的一款ETL工具,跟hadoop一样,也是java实现,其目的就是做 ...
- ETL工具--kettle篇(17.10.09更新)
ETL是EXTRACT(抽取).TRANSFORM(转换).LOAD(加载)的简称,实现数据从多个异构数据源加载到数据库或其他目标地址,是数据仓库建设和维护中的重要一环也是工作量较大的一块.当前知道的 ...
- ETL工具kettle基本使用
1.下载kettle:https://sourceforge.net/projects/pentaho/files/Data%20Integration/7.0/pdi-ce-7.0.0.0-25.z ...
- ETL工具Kettle使用以及与Java整合实现数据清洗
本文主要讲述kettle的使用和与Java整合,具体下载与安装请自行百度! kettle有两种脚本方式:转换和工作,工作中可以添加转换.以下以转换为例. 1.新建一个转换, 2.在工作中经常用到的是表 ...
- 八步学会数据迁移:ETL工具kettle使用方法
一.目的 将不同服务器上的表合并到另外一个服务器上.例如:将服务器1上的表A和服务器2上的表B,合并到服务器3上的表C 要求:表A需要被裁剪(去掉不必要的字段).表B需要增加一些字段 二.使用方法 ( ...
- ETL利器Kettle实战应用解析系列一【Kettle使用介绍】
本系列文章主要索引如下: 一.ETL利器Kettle实战应用解析系列一[Kettle使用介绍] 二.ETL利器Kettle实战应用解析系列二 [应用场景和实战DEMO下载] 三.ETL利器Kettle ...
- ETL工具的功能和kettle如何来提供这些功能
不多说,直接上干货! 大家会有一个疑惑,本系列博客是Kettle,那怎么扯上ETL呢? Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行. 说白了 ...
随机推荐
- 进程锁(互斥锁)(Python)
3:# 抢票示例 import json import time from multiprocessing import Process,Lock def search(i): with open(' ...
- 火山引擎ByteHouse:分析型数据库如何设计并发控制?
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 分析型数据库设计并发控制的主要原因是为了确保数据的完整性和一致性,同时提高数据库的吞吐量和响应速度.并发控制可以防 ...
- 网友感到担忧!iOS 17支持第三方应用商店:这下跟安卓没区别了
苹果此前官宣将于6月6日召开WWDC2023大会,按照往年的惯例,在这次大会上将会推出下一代iOS系统,也就是iOS 17.最近国外有关iOS 17的爆料中提到,迫于欧盟法案压力,iOS 17或将支持 ...
- Azure - 机器学习:创建机器学习所需资源,配置工作区
本文中你可以创建使用 Azure 机器学习所需的资源,包含工作区和计算实例. 关注TechLead,分享AI全维度知识.作者拥有10+年互联网服务架构.AI产品研发经验.团队管理经验,同济本复旦硕,复 ...
- 17.5 稀疏调拨的内存映射文件--《Windows核心编程》
原文链接:https://www.likecs.com/show-306421749.html,原文中代码是C++MFC程序,更详细.本文是C语言测试代码. (1)稀疏文件(Sparse File)定 ...
- ASP.NET Core分布式项目实战(Identity Server 4回顾,Consent 实现思路介绍)--学习笔记
任务17:Identity Server 4回顾 上一节我们中间留了一部分,登录之后的 RequireConsent,就是用户授权这一步没有做,直接跳过,这种情况可以理解为我们自己比较信任的客户端,这 ...
- ABC 304
T4 在一个平面上有一块面积无限的蛋糕,给出 \(n\) 颗草莓的所在位置和 \(a\,(b)\) 条平行与 \(x\,(y)\) 轴的切刀位置. 切刀会把蛋糕沿 \(x\,(y)\) 轴切开.因此一 ...
- JS leetcode 翻转字符串里的单词 题解分析
壹 ❀ 引 今天来做一道难度中等,但实际难度并不是很高的题目,题目来源leetcode151. 翻转字符串里的单词,题目描述如下: 给定一个字符串,逐个翻转字符串中的每个单词. 示例 1: 输入: & ...
- NC19910 [CQOI2007]矩形RECT
题目链接 题目 题目描述 给一个a*b矩形,由a*b个单位正方形组成.你需要沿着网格线把它分成分空的两部分,每部分所有格子连通,且至少有一个格子在原矩形的边界上."连通"是指任两个 ...
- Git识别文件权限修改
刚打开IDE,工作区的代码状态全部变成修改未提交的状态了?这是这么回事?这是因为Git忽略文件权限或者拥有者改变导致的git状态变化.默认Git会记录文件的权限信息,如果文件的权限信息被修改,在Git ...