kettle学习记录1
来源:互联网 发布:作图软件有cs? 编辑:程序博客网 时间:2024/06/05 06:40
在ETl工具kettle中主对象主要分为作业(job)与转换(transform)。
1.作业以一个start开头,中间可以包含不定量个作业和转换,可以有多个结尾。作业中定义的是控制流。
2.转换包括一个或多个步骤,它定义的是数据流。在核心对象中有许多我们常用的对象,比如说输入中有csv输入,excel输入,文本文档输入,表输入等等,比如说转换中的值映射,增加常亮,字段选择,字符串操作等等。
这些转换和工作中的核心对象都需要在kettle中去练习,然后把握它的基本使用方法。
比如说命令行启动作业通过 kitchen指令在命令行给作业传递全局变量id进去,通过在 kitchen + 作业文件 + “-param id=1” 来把全局变量id=1传递给作业,只是Windows系统下要在两边加双引号,这样在这个job中的所有地方都可以接收到这个id的值了。
在kettle中接收变量的值通过
上面是是一个job。通过设置全局变量id=3,获取到数据库test1的表db里面id=3的数据取到另一个数据库信息,将这个数据库信息设置为变量数据库,连接上后取此数据库的test2里面的user表全部信息,过滤出id大于26的数据并存储为csv文件。
转换:通过获得从命令行传递过来的全局变量id=3,去数t据库test1查找出这条记录。并把记录的内容通过设置变量定义在转换中,以便于后续使用。
表输入:通过获得从命令行传递过来的全局变量id=3,去数t据库test1查找出这条记录。注意sql语句中如使用到了变量,那么下面替换sql语句里的变量一定要打勾。
设置变量:并查询出来的记录的内容通过设置变量进行定义。变量活动类型选择在一个job中,以便于在这个job中进行后续操作。
转换2:
表输入:表输入中的DB连接参数采用转换中获取的数据库记录数据,使用${}接收。
文本文件输出:为了转换3中的过滤记录而设置
输出文档内容:
转换3:
csv文件输入:通过转换2的文本文件输出然后在此输入到过滤记录中
过滤记录:设置条件:id>26,从而筛选出id大于26的数据。(因为在转换2中因为表输入的DB是通过动态接收参数从而连接数据库获取记录的,所以在转换2中如果添加过滤记录,则在条件中的字段会出现无字段可选的情况,从而在转换2中加了一个文件输出,在转换3中加了一个文件输入,这样在转换3中的过滤记录就能出现下图的字段中的选择一个字段中的这些字段)
文本文件输出:最后在通过文本文件输出,可以设置文件类型为csv
最后输出的文件内容为:
总结:这是一个小例子,在kettle工具中这些核心对象要通过使用去了解,常用的核心对象要去掌握好使用方法和注意事项。
- kettle学习记录1
- kettle学习记录
- Kettle学习1
- kettle学习日记(1)
- 你不知道的Kettle学习笔记1--Kettle详解
- Kettle 学习
- (Kettle)合并记录步骤
- kettle删除数据库记录
- kettle乱码问题解决记录
- (Kettle)合并记录步骤
- kettle使用记录
- Kettle (1)
- KETTLE JAVA API 实战记录
- KETTLE JAVA API 实战记录
- Kettle加载数据,日志记录
- KETTLE JAVA API学习
- kettle学习-->邮件发送
- kettle学习:JsonInput使用
- 第七周——项目一 自建算法库——顺序环形队列
- 解析 神奇的 Object.defineProperty
- 【1701H1】【穆晨】【171014】连续第四天总结
- 如何修改mysql 5.6.24解压缩版(免安装版或zip版)字符编码
- pandas学习笔记
- kettle学习记录1
- 使用maven一步一步构建spring mvc项目
- 数据分析--描述性统计-001
- 后缀数组整理
- 第七周——项目二——自建算法库—链队
- Java手写连接池
- 实验:centos 7.3二进制安装mariadb10.2.8及脚本安装
- bootstrap栅格系统变形的解决方案
- spring boot内嵌tomcat配置端口更改