kettle学习笔记(六)——kettle转换步骤
一、概述
转换步骤分类:
1. 增加新的列
2. 字符串处理
3. 行列变换
4. 排序/排重/字段选择
5. 其他转换步骤
二、增加新的列
1.增加常量列
增加一列常量的列
其它增加列的操作大同小异,不一一赘述,只介绍计算器
1. 增加常量列
2. 增加序列列
3. 增加分组序列列
4. 增加校验列
5. 增加XML 列
6. 计算器
2.计算器
可以进行数值运算、日期运算等...
更多计算类型的介绍,参见wiki
三、字符串处理
1.字符串拆分
1.同Java的indexOf,左闭右开的形式
2.将一个字段拆分为多个字段,注意配置拆分后接收的字段
3.拆分成多行
类似上面,不过拆分成多行是这样的结果:
2.字符串合并
3.字符串替换
值映射:对数值进行映射,例如经典的性别1 0映射为男 女:
正则匹配:
4.字符串其它转换
字符串操作:
可以进行字符串转义(例如> 转义为 >)、保留/去除字符串里的数字、移除特殊字符、补充长度
四、行列变换
图示如下:(也叫正规化-列转行-宽表变窄表/ 反正规化-行转列-窄表变宽表)
示例如下:
窄表变宽表的配置:注意理解分组字段的含义
行转列,参考:https://www.cnblogs.com/OliverQin/p/5871330.html
五、排序/去重/字段选择
1.排序
2.排重
Unique Row: 需要事先排序:
Unique Row(Hash): 不排序,速度快,占内存。
kettle学习笔记(六)——kettle转换步骤的更多相关文章
- Kettle学习笔记(二)— 基本操作
目录 Kettle学习笔记(一)- 环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 打开Kettle 打开 ...
- Kettle学习笔记(一)— 环境部署及运行
目录 Kettle学习笔记(一)-环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 Kettle简介 Ket ...
- Kettle学习笔记(四)— 总结
目录 Kettle学习笔记(一)- 环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 Kettle中设置编码 ...
- java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)
java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...
- Learning ROS for Robotics Programming Second Edition学习笔记(六) indigo xtion pro live
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- Typescript 学习笔记六:接口
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- python3.4学习笔记(六) 常用快捷键使用技巧,持续更新
python3.4学习笔记(六) 常用快捷键使用技巧,持续更新 安装IDLE后鼠标右键点击*.py 文件,可以看到Edit with IDLE 选择这个可以直接打开编辑器.IDLE默认不能显示行号,使 ...
- Go语言学习笔记六: 循环语句
Go语言学习笔记六: 循环语句 今天学了一个格式化代码的命令:gofmt -w chapter6.go for循环 for循环有3种形式: for init; condition; increment ...
- 【opencv学习笔记六】图像的ROI区域选择与复制
图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感兴趣区域ROI.今天我们来看一下如何设置图像的感兴趣区域ROI.以及对ROI区域图像 ...
- Linux学习笔记(六) 进程管理
1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...
随机推荐
- web api 权限控制
https://www.cnblogs.com/landeanfen/p/5287064.html 我只是个搬运工, 我只想存个档
- Python 自定义线程池
"""思路1,将任务放在队列 1)创建队列:(初始化) 2)设置大小,线程池的最大容量 3)真实创建的线程 列表 4)空闲的线程数量 2,着手开始处理任务 1)创建线程 ...
- 树莓派 引脚及接口图 AV接口顺序
树莓派 引脚图 注:本表格适用于各版本,并且兼容26Pin的树莓派B,树莓派B为26Pin,其引脚对应于上表的前26Pin. 树莓派 接口图 AV接口又称(RCA),AV接口算是出现比较早的一种接 ...
- HDFS 2.7.4中hdfs-site.xml参数未配置引发的一些异常
生产上部署了HDFS 2.7.4,最近遇到了一些异常,记录下来备忘: 一.dfs.datanode.directoryscan.throttle.limit.ms.per.sec DataNode运行 ...
- 排错-windows下 ORA-12560 TNS 协议适配器错误解决方法
排错-windows下_ORA-12560 TNS 协议适配器错误解决方法 by:授客 QQ:1033553122 问题描述: 修改SQL*Plus窗口属性后,重新打开SQL*Plus时出现ORA-1 ...
- 004-React-Native--多图选择上传
参考资料:http://www.jianshu.com/p/488e62ed9656 一:使用react-native-image-crop-picker进行图片选择时,并没有提供多图的机制.当你从相 ...
- GenyMotion the virtual device got no ip address 问题解决
不要再找答案了 升级你的virtual box到最新版本(目前是 5.0.26,已通过) 如果你是windows 10系统 必须关闭hyper-v 在管理员命令行下运行bcdedit /set hyp ...
- python 流程控制(for循环语句)
1,for循环基本语法 2, for循环常用序列 3,for循环 else使用方法 1,for循环基本语法 for iterating_var in sequence: statements(s) 2 ...
- CSS| table property
- gh-ost和pt-osc性能对比
haughty_xiao 基于MySQL row格式的复制现在趋于主流,因此可以使用此格式的binlog来跟踪改变而不是触发器.与percona toolkit的pt-online-schem ...