2016Kettle基本知识培训
- 格式:ppt
- 大小:4.26 MB
- 文档页数:31
Kettle入门教程最近做的项目用到了ETL工具Kettle,这个工具相当好用,可以将各种类型数据作为数据流,经过处理后再生成各种类型的数据。
正如其名“水壶”,将各个地方的水倒进水壶里,再用水壶倒入不同的容器。
不过一来初学乍用,二来对此任务不是很感兴趣,研究的不是很深入,可能是以一种不科学的方法使用的,但观教程,常用的内容似乎也涉及到了,并且Y大说过,要善于总结,于是有了这篇,作为入门说明吧。
一、下载与安装官网地址大概700~800M,下载好解压缩即可。
当然,要求JDK环境(似乎有自带)二、任务(.kjb)与转换(.ktr)Kettle工具的主界面-作业简单地说,一个转换就是一个ETL的过程,而作业则是多个转换、作业的集合,在作业中可以对转换或作业进行调度、定时任务等(据说定时不好用,可以通过其他方式,比如linux的crontab命令,不过实际使用中,这个指令也不大好使,有待查看日志探明原因。
)我在实际过程中,写的流程不是很复杂,当数据抽取需要多步骤时,分成多个转换,在集合到一个作业里顺序摆放,然后执行即可,不放到作业里的话,要对多个转换依次执行命令,比较麻烦。
三、煎锅、勺子、厨房是不是莫名其妙,以为走错了片场?然而这是几个重要的工具名称。
1)勺子-Spoon.bat/spoon.sh图形界面工具,就是启动上图主界面的命令行。
这个界面应该是JavaFX做的。
这个用来在有图形界面的系统下写任务(如何通过命令行写我不知道,并且我怀疑没有这个可能……),如Windows,写好后,也可以通过该工具进行执行,调试。
这个工具最大的问题是启动很慢,并且如果修改了数据库连接的配置,只有重新启动才能生效了。
这时候就体现了命令行的优越性。
转换窗口简单的转换示例左边有很多控件可供选择,上图展示了我在使用中经常用到的几个控件。
•执行SQL脚本:可以直接在控件里写SQL,并指定执行的库。
•表输入:通过查询数据库的表来获取输入数据流。
目录Kettle中元素介绍 (2)变量 (4)转换 (5)转换连接颜色 (6)步骤(右键属性) (6)文本文件输入 (7)表输入 (8)获取系统信息 (8)生成记录 (9)Cube输入 (10)Xbase输入 (10)Excel输入 (10)XML输入 (10)获取文件名 (10)获取文件行数 (10)文本文件输出 (11)表输出 (11)插入/更新 (12)更新(可以用插入/更新替代) (12)删除 (12)序列化到文件(以前是Cube output) (12)XML输出 (12)Excel输出 (13)Access输出 (13)数据库查询(Database lookup) (13)流查询 (13)调用数据库存储过程 (14)HTTP客户端 (14)字段选择 (14)过滤记录 (15)排序记录 (15)添加序列 (15)空操作(什么也不做) (15)行转列(Row Normaliser) (16)拆分字段 (17)去除重复记录 (17)分组(Statistics) (17)设置为空值(Null if) (18)计算器 (18)增加XML(Add XML) (18)增加常量 (18)行转列(Row Denormaliser) (19)行扁平化 (19)值映射 (20)被冻结的步骤(Blocking Step) (20)记录关联(笛卡尔输出) (21)数据库连接 (21)合并记录 (21)排序合并(Sorted Merge) (22)Merge Join(合并连接) (22)Java Script值(Modified Java Script Value) (23)执行SQL语句 (23)Execute row SQL script (24)维度更新/查询 (25)联合更新查询 (25)映射(子转换) (26)从结果获取记录 (27)复制记录到结果(字符串) (27)Set Variables(设置变量) (27)Get Variables(获取变量) (28)Get files from result(从以前的结果获取文件) (28)Set files in result (28)Injector(记录注射器) (29)Socket reader(套接字读入器) (29)套接字输写器(Socket writer) (30)聚合记录 (30)流XML输入(属sax解析,和Get data from xml功能相同) (30)Abort(中止) (31)Oracle Bulk Loader(Oracle 批量装载) (31)任务设置(Job Settings)未找到 (33)任务条目(Job Entries)未找到 (33)Start (33)附录1 : (36)JS函数 (36)资源库:转换和job的保存地点1、kettle 有两种方式连接资源库,一种是纯数据库式,所有的转换全部都保存在一个数据库中;另外一种连接方式是使用文本文件,也就是xml 文件,在做完任何转换之后,我们都可以把转换或者Job 变成xml 文件输出。
Kettle简介:Kettle是使用Java语言开发的一个开源ETL工具(Extract--Transform--Loading),完成数据的抽取、转换、加载工作。
Kettle的意思是“水壶”,把各种各样的数据倒进水壶中,经过转换、处理,以我们所需的格式输出对我们有价值的信息。
问题:为什么要用kettle?需求:不同的数据库(同一种类型但实例不同的数据库,或者不同类型的数据库)之间、不同的数据存储形式(数据库、文本文件)之间需要协同工作,计算、处理、转换成我们需要的数据。
实际应用场景:对帐系统需要读取ATM的交易流水文件到Oracle数据库中并进行统计。
不使用kettle的情况:专门编写程序(Java或C)导入到数据库中,在Oracle中编写存储过程进行批量统计。
使用kettle的情况:通过“文本文件输入”step,指定分隔符,即可完成导入,无需编写程序;使用kettle中的各种对象可以完成统计功能,不需要编写存储过程。
两种情况对比:情况一:需要编写专门的导入程序,不具备通用性。
存储过程在不同类型的数据库中语法不同,也不具备通用性。
但不需要掌握kettle。
情况二:不需要编写专门的导入程序,不同的文件格式只需要修改“文本文件输入”step中的对应参数即可。
不需要针对不同的数据库编写不同版本的存储过程,只需要使用标准SQL 就可以具备通用性。
需要掌握kettle。
好处:跨数据库、跨平台,减少我们的工作量。
Kettle中有两种类型的对象,分别对应两种类型的文件。
一种是Transformation(以后简称Trans),即转换;一种是Job,即工作。
Trans完成具体的任务,Job用于控制转换之间的执行顺序。
第一部分:与数据库打交道1创建数据库连接<1>新建一个Transformation,在“DB连接”下创建一个“数据库连接”,如下图所示:<2>如果创建kettle不支持的数据库的连接,ConnectionType选择Generic database。
Pentaho Data Integration 完全自学手册(孟菲斯著)文档目录文档目录 (2)更新记录 (17)第一章.KETTLE 基础介绍 (18)1.1.核心组件 (18)1.2.组成部分 (18)1.3.概念模型 (19)1.3.1.Transformation(转换) (19)1.3.2.Steps(步骤) (20)1.3.3.Hops(节点连接) (20)1.3.4.Jobs(工作) (20)1.3.5.Variable(变量) (21)1.3.5.1.设置环境变量 (21)1.3.5.2.设置变量 (21)1.4.查看版本 (22)1.5.选项设置 (23)第二章.KETTLE 环境搭建 (25)2.1.单机部署 (25)2.1.1.下载kettle (25)2.1.2.安装kettle (25)2.1.3.运行Spoon (25)2.2.集群部署 (26)1. Carte简介 (26)2. Carte部署配置 (26)2.1 启动方法 (26)2.2 启动配置 (26)2.3 Carte xml文件配置详解 (27)2.3.1 slaveserver节点 (28)2.3.2 masters节点 (28)2.3.3 report_to_masters节点 (28)2.3.4 max_log_lines节点 (28)2.3.5 max_log_timeout_minutes节点 (28)2.3.6 object_timeout_minutes节点 (29)2.3.7 (*) repository节点 (29)3. Carte集群 (29)3.1 普通集群 (30)3.2 动态集群 (30)2.3.运行方式 (30)2.3.1.转换执行器Pan (30)2.3.1.2.Pan 实例讲解:Windows (31)2.3.1.3.Pan 实例讲解:Linux (31)2.3.2.任务执行器Kitchen (32)2.3.2.1.Kitchen 参数介绍 (32)2.3.2.2.Kitchen 实例讲解:Windows (33)2.3.2.3.Kitchen 实例讲解:Linux (34)2.4.定时任务 (35)2.4.1.Windows (35)2.4.2.Linux (35)第三章.KETTLE 基本功能 (40)3.1.新建转换 (40)3.1.1.方法1 (40)3.1.2.方法2 (40)3.1.3.方法3 (41)3.1.4.主对象树 (41)3.1.5.核心对象 (42)3.1.6.新建数据库连接 (42)3.2.转换实例 (43)3.2.1.转换实例1 (43)3.2.2.转换实例2 (43)3.3.新建作业 (44)3.3.1.方法1 (44)3.3.2.方法2 (44)3.3.3.方法3 (45)3.3.4.主对象树 (45)3.3.5.核心对象 (46)3.4.作业实例 (46)3.4.1.作业实例1 (46)3.4.2.作业实例2 (46)第四章.KETTLE 设计环境 (46)4.1.T RANSFORMATION:转换步骤(24-228) (46)4.1.1.Input:输入(38) (46)4.1.1.1.Csv file input (46)4.1.1.1.1.功能描述 (47)4.1.1.1.2.操作步骤 (47)4.1.1.1.3.实例讲解 (48)4.1.1.2.DataGrid (48)4.1.1.3.De-serialize from file:文件反序列化 (48)4.1.1.4.ESRI Shapefile Reader (48)4.1.1.5.Email messages input (48)4.1.1.6.Fixed file input (48)4.1.1.7.GZIP CSV Input (48)4.1.1.9.Generate random credit card numbers (48)4.1.1.10.Generate random value (49)4.1.1.11.Get File Names (49)4.1.1.12.Get Files Rows Count (49)4.1.1.13.Get SubFolder names (49)4.1.1.14.Get System Info:获取系统信息 (49)4.1.1.14.1.功能描述 (50)4.1.1.14.2.操作步骤 (51)4.1.1.14.3.实例讲解 (52)4.1.1.15.Get data from XML (53)4.1.1.16.Get repository names (53)4.1.1.17.Get table names (53)4.1.1.18.Google Analytics (53)4.1.1.19.HL7 Input (53)4.1.1.20.JSON Input (53)4.1.1.21.LDAP Input (53)4.1.1.22.LDIF Input (54)4.1.1.23.Load file content in memory (54)4.1.1.24.Microsoft Access input (54)4.1.1.25.Microsoft Excel Input (54)4.1.1.25.1.功能描述 (54)4.1.1.25.2.操作步骤 (54)4.1.1.25.2.1.指定文件名 (55)4.1.1.25.2.2.指定内容 (55)4.1.1.25.2.3.字段 (55)4.1.1.25.2.4.错误处理 (55)4.1.1.25.2.5.其他输出字段 (55)4.1.1.25.3.实例讲解 (55)4.1.1.26.Mondrian Input (55)4.1.1.27.OLAP Input (56)4.1.1.28.Property Input (56)4.1.1.29.RSS Input (56)4.1.1.30.S3 CSV Input (56)4.1.1.31.SAP Input (56)4.1.1.32.SAS Input (56)4.1.1.33.SalesForce Input (56)4.1.1.34.Table input:表输入 (56)4.1.1.34.1.功能描述 (56)4.1.1.34.2.操作步骤 (57)4.1.1.34.3.实例讲解 (58)4.1.1.35.Text file input:文本文件输入 (58)4.1.1.35.1.功能描述 (58)4.1.1.35.2.操作步骤 (58)4.1.1.35.2.2.从先前的步骤中接受文件名 (59)4.1.1.35.2.3.内容指定 (59)4.1.1.35.2.4.错误处理 (62)4.1.1.35.2.5.过滤 (63)4.1.1.35.2.6.字段 (64)4.1.1.35.2.7.其他输出字段 (65)4.1.1.35.3.格式化 (65)4.1.1.35.3.1.Number格式化 (65)4.1.1.35.3.2.Date格式化 (66)4.1.1.35.3.3.其它 (66)4.1.1.35.4.实例讲解 (67)4.1.1.36.XBase input:XBase输入 (67)4.1.1.36.1.功能描述 (67)4.1.1.37.XML Input Stream(StAX) (67)4.1.1.37.1.功能描述 (67)4.1.1.38.Yaml Input (69)4.1.2.Output:输出(22) (69)4.1.2.1.Automatic Documentation Output (69)4.1.2.2.Delete:删除 (69)4.1.2.2.1.功能描述 (69)4.1.2.2.2.操作步骤 (69)4.1.2.3.Insert / Update:插入/更新 (70)4.1.2.3.1.功能描述 (70)4.1.2.3.2.操作步骤 (71)4.1.2.4.JSON Output (72)4.1.2.5.LDAP Output (72)4.1.2.6.Mircosoft Access Output (72)4.1.2.7.Mircosoft Excel Output:Excel输出 (72)4.1.2.7.1.功能描述 (72)4.1.2.7.2.操作步骤 (72)4.1.2.8.Pentaho Reporting Output (75)4.1.2.9.Properties Output (75)4.1.2.10.RSS Output (75)4.1.2.11.S3 File Output (75)4.1.2.12.SQL File Output (75)4.1.2.13.Saleforce Delete (75)4.1.2.14.Saleforce Insert (75)4.1.2.15.Saleforce Update (75)4.1.2.16.Saleforce Upsert (75)4.1.2.17.Serialize to file (75)4.1.2.18.Synchronize after merge (76)4.1.2.19.Table output (76)4.1.2.19.1.功能描述 (76)4.1.2.20.Text file output:文本文件输出 (79)4.1.2.20.1.功能描述 (79)4.1.2.20.2.操作步骤 (80)4.1.2.21.Update:更新 (81)4.1.2.21.1.功能描述 (81)4.1.2.21.2.操作步骤 (82)4.1.2.22.XML Output (83)4.1.3.Transform:转换(26) (84)4.1.3.1.Add XML (84)4.1.3.2.Add a checksum (84)4.1.3.3.Add constants:增加常量 (84)4.1.3.3.1.功能描述 (84)4.1.3.3.2.操作步骤 (84)4.1.3.4.Add sequence (85)4.1.3.4.1.功能描述 (85)4.1.3.4.2.操作步骤 (85)4.1.3.5.Add value fields changing seqence (86)4.1.3.6.!Calculator:计算器 (86)4.1.3.6.1.功能描述 (87)4.1.3.6.2.操作步骤 (88)4.1.3.7.Closure Generator (89)4.1.3.8.Concat Fields (89)4.1.3.9.Get ID From slave server (89)4.1.3.10.Number range (89)4.1.3.11.Replace in string:字符串替换 (89)4.1.3.11.1.功能描述 (89)4.1.3.11.2.操作步骤 (89)4.1.3.12.!Row Normaliser:行转列 (90)4.1.3.12.1.功能描述 (90)4.1.3.12.2.操作步骤 (91)4.1.3.13.Row denormaliser:列转行 (92)4.1.3.13.1.功能描述 (92)4.1.3.13.2.操作步骤 (92)4.1.3.14.!Row flattener:行扁平化 (92)4.1.3.14.1.功能描述 (93)4.1.3.14.2.操作步骤 (93)4.1.3.15.!Select values:字段选择 (94)4.1.3.15.1.功能描述 (94)4.1.3.15.2.操作步骤 (95)4.1.3.16.Set field value (96)4.1.3.17.Set field value to a constant (96)4.1.3.18.Sort rows (96)4.1.3.18.1.功能描述 (96)4.1.3.19.Split Fields:拆分字段 (97)4.1.3.19.1.功能描述 (97)4.1.3.19.2.操作步骤 (97)4.1.3.20.Split Fields to rows (99)4.1.3.21.String operations (99)4.1.3.22.String cut:裁剪字符串 (99)4.1.3.22.1.功能描述 (99)4.1.3.22.2.操作步骤 (99)4.1.3.23.Unique rows:去除重复记录 (100)4.1.3.23.1.功能描述 (100)4.1.3.23.2.操作步骤 (100)4.1.3.25.!Value Mapper:值映射 (101)4.1.3.25.1.功能描述 (101)4.1.3.25.2.操作步骤 (101)4.1.3.26.XSL Transformation (103)4.1.4.Utility(15) (103)4.1.4.1.Change file encoding (103)4.1.4.2.Clone row (103)4.1.4.3.Delay row (103)4.1.4.4.Edit to xml (103)4.1.4.5.Execute a process (103)4.1.4.6.If field value is null (103)4.1.4.7.Mail (103)4.1.4.8.Metadata structure of stream (103)4.1.4.9.Null if:设置为空值 (103)4.1.4.9.1.功能描述 (103)4.1.4.10.Process files (104)4.1.4.11.Run SSH commands (104)4.1.4.12.Send message to Syslog (104)4.1.4.13.Table Compare (104)4.1.4.14.Write to log (104)4.1.4.15.Zip file (104)4.1.4.15.1.功能描述 (104)4.1.4.15.2.操作步骤 (104)4.1.5.Flow(16) (106)4.1.5.1.Abort:中止 (106)4.1.5.1.1.功能描述 (106)4.1.5.2.Annotate Stream (106)4.1.5.3.Append streams:追加流 (106)4.1.5.3.1.功能描述 (106)4.1.5.3.2.操作步骤 (106)4.1.5.4.Block this step unitil steps finish (107)4.1.5.5.Blocking Step:阻塞数据 (107)4.1.5.5.2.操作步骤 (107)4.1.5.6.Detect empty stream (108)4.1.5.7.Dummy (do nothing):空操作(什么也不做) (108)4.1.5.7.1.功能描述 (108)4.1.5.8.ETL Metadata Injection (109)4.1.5.9.!Filter rows: 过滤记录(过滤行) (109)4.1.5.9.1.功能描述 (109)4.1.5.9.2.操作步骤 (109)4.1.5.10.Identify last row in a stream (110)4.1.5.11.Java fileter (111)4.1.5.12.Job Executor (111)4.1.5.13.Prioritize streams (111)4.1.5.14.Single Threader (111)4.1.5.15.Switch / Case (111)4.1.5.15.1.功能描述 (111)4.1.5.15.2.操作步骤 (111)4.1.5.16.Transformation Executor (113)4.1.6.Scripting(9) (113)4.1.6.1.!Execute SQL script:执行SQL脚本 (113)4.1.6.1.1.功能描述 (113)4.1.6.1.2.操作步骤 (114)4.1.6.1.3.实例讲解 (115)4.1.6.2.Execute row SQL script:执行SQL脚本(字段流替换) (116)4.1.6.2.1.功能描述 (116)4.1.6.2.2.操作步骤 (116)4.1.6.3.Formula (117)4.1.6.4.!Modified Java Script Value (118)1)Transformation scripts (118)2)Transformation constants (118)3)Transformation functions (118)1)过滤Null字段 (119)2)字符串截取 (119)3)过滤记录行,控制转换流程 (119)4)使用java类库 (119)4.1.6.4.1.实例讲解 (124)4.1.6.5.Regex Evaluation (124)4.1.6.6.Rules Accumulator (124)4.1.6.7.Rules Executor (124)er Defined Java Class (124)er Defined Java Expression (124)4.1.7.BA Server(3) (125)4.1.7.1.Call endpoint (125)4.1.7.2.Get session varables (125)4.1.8.Lookup(15) (125)4.1.8.1.!Call DB Procedure:调用DB存储过程 (125)4.1.8.1.1.功能描述 (125)4.1.8.1.2.操作步骤 (125)4.1.8.2.Check if a column exists (127)4.1.8.3.Check if file is locked (127)4.1.8.4.Check if webservice is available (127)4.1.8.5.!Database join:数据库连接 (127)4.1.8.5.1.功能描述 (127)4.1.8.5.2.操作步骤 (127)4.1.8.6.!Database lookup:数据库查询 (128)4.1.8.6.1.功能描述 (129)4.1.8.6.2.操作步骤 (129)4.1.8.7.Dynamic SQL row (131)4.1.8.8.File exists (131)4.1.8.9.Fuzzy match (131)4.1.8.10.HTTP client (131)4.1.8.10.1.功能描述 (131)4.1.8.10.2.操作步骤 (131)4.1.8.11.HTTP Post (132)4.1.8.12.REST Client (132)4.1.8.13.Stream lookup (132)4.1.8.14.Table exists (132)4.1.8.15.Web services lookup (132)4.1.9.Joins(6) (133)4.1.9.1.!Join Rows(Cartesian product):记录关联(笛卡尔输出) (133)4.1.9.1.1.功能描述 (133)4.1.9.2.!Merge join (133)4.1.9.2.1.功能描述 (133)4.1.9.3.!Merge Rows (diff) (134)4.1.9.4.Multiway Merge Join (134)4.1.9.5.Sorted Merge (134)4.1.9.6.XML Join (134)4.1.10.Data Warehouse(2) (135)4.1.10.1.!Combination lookup/update (135)4.1.10.2.!Dimension lookup/update (135)4.1.11.Validation(4) (136)4.1.11.1.Credit card validator (136)4.1.11.2.Data Validator (136)4.1.11.3.Mail Validator (136)4.1.11.4.XSD Validator (136)4.1.12.!Statistics:统计(7) (136)4.1.12.1.Analytic Query (136)4.1.12.2.1.功能描述 (136)4.1.12.2.2.操作步骤 (136)4.1.12.3.Memory Group by (138)4.1.12.4.Output steps metrics (138)4.1.12.5.Reservoir Sampling (138)4.1.12.6.Sample rows (138)4.1.12.7.Univariate Statistics (138)4.1.13.Big Data(13) (138)4.1.13.1.Avro Input (138)4.1.13.2.Cassandra Input (138)4.1.13.3.Cassandra output (138)4.1.13.4.CouchDb Input (138)4.1.13.5.HBase Input (138)4.1.13.6.HBase Row Decoder (138)4.1.13.7.Hadoop File Input (138)4.1.13.8.Hadoop File Output (138)4.1.13.9.MapReduce Input (138)4.1.13.10.MapReduce output (139)4.1.13.11.MongoDB Input (139)4.1.13.12.MongoDB output (139)4.1.13.13.SSTable Output (139)4.1.14.Agile(2) (139)4.1.14.1.MonetDB Agile Mart (139)4.1.14.2.Table Agile mart (139)4.1.15.Cryptography(4) (139)4.1.15.1.PGP Decrypt stream (139)4.1.15.2.PGP Encrypt stream (139)4.1.15.3.Secret key generator (139)4.1.15.4.Symmetric Cryptography (139)4.1.16.Palo(4) (139)4.1.16.1.Palo Cell Input (139)4.1.16.2.Palo Cell Output (139)4.1.16.3.Palo Dim Input (140)4.1.16.4.Palo Dim Output (140)4.1.17.Open ERP(3) (140)4.1.17.1.OpenERP Object Delete (140)4.1.17.2.OpenERP Object Input (140)4.1.17.3.OpenERP Object OUtput (140)4.1.18.Job:作业(6) (140)4.1.18.1.Copy rows to result:复制记录到结果 (140)4.1.18.1.1.功能描述 (140)4.1.18.2.Get Variables:获取变量 (140)4.1.18.2.1.功能描述 (140)4.1.18.3.Get files from result:从结果获取文件 (141)4.1.18.3.1.功能描述 (141)4.1.18.3.2.操作步骤 (142)4.1.18.4.Get rows from result:从结果获取记录 (142)4.1.18.4.1.功能描述 (142)4.1.18.5.Set Variables:设置变量 (142)4.1.18.5.1.功能描述 (143)4.1.18.5.2.操作步骤 (143)4.1.18.6.Set files in result:复制文件到结果 (143)4.1.18.6.1.功能描述 (143)4.1.18.6.2.操作步骤 (143)4.1.19.!Mapping(4) (144)4.1.19.1.Mapping(sub-transformation) (144)4.1.19.2.Mapping input specification (144)4.1.19.3.Mapping output specitication (144)4.1.19.4.Simple Mapping(sub-transformation) (144)4.1.20.Bulk loading(11) (145)4.1.20.1.ElasticSearch Bulk Insert (145)4.1.20.2.Greenplum load (145)bright loader (145)4.1.20.4.Ingres VectorWise Bulk Loader (145)4.1.20.5.MonetDB Bulk Loader (145)4.1.20.6.MySQL Bulk loader (145)4.1.20.7.!Oracle Bulk loader (145)4.1.20.7.1.功能描述 (145)4.1.20.8.PostgresSQL Bulk loader (146)4.1.20.9.Teradata Fastload Bulk Loader (146)4.1.20.10.Teradata TPT Bulk loader (146)4.1.20.11.Vertica Bulk loader (146)4.1.21.Inline(3) (146)4.1.21.1.Injector: 记录注射器 (146)4.1.21.2.Socket reader: 套接字读入器 (147)4.1.21.2.1.功能描述 (147)4.1.21.3.Socket writer (147)4.1.22.Experimental(2) (148)4.1.22.1.SFTP Put (148)4.1.22.2.Script (148)4.1.23.Deprecated(4) (148)4.1.23.1.Example Step (148)4.1.23.2.Greenplum Bulk loader (148)4.1.23.3.LicidDB Streaming Loader (148)4.1.23.4.Old Text file input (148)4.1.24.History(9) (148)4.1.24.2.Table input (148)4.1.24.3.Text file output (148)4.1.24.4.Table output (148)4.1.24.5.Moding java Script Value (148)4.1.24.6.Add sequence (148)4.1.24.7.Generate Rows (149)4.1.24.8.Get System Info (149)4.1.24.9.Sort rows:行排序 (149)4.1.24.9.1.功能描述 (149)4.2.JOB:作业步骤(15-92) (149)4.2.1.General:通用(6) (149)4.2.1.1.Start:开始 (149)4.2.1.1.1.功能描述 (149)4.2.1.1.2.操作步骤 (150)4.2.1.2.Dummy:空操作 (150)4.2.1.2.1.功能描述 (150)4.2.1.3.OK (151)4.2.1.4.Job:作业 (151)4.2.1.4.1.功能描述 (151)4.2.1.4.2.操作步骤 (151)4.2.1.5.Set variables:设置变量 (152)4.2.1.5.1.功能描述 (152)4.2.1.6.Transformation (152)4.2.1.6.1.功能描述 (152)4.2.1.6.2.操作步骤 (153)4.2.1.7.Success (154)4.2.2.Mail:邮件(3) (154)4.2.2.1.Mail validator (154)4.2.2.2.Mail:发送邮件 (154)4.2.2.2.1.功能描述 (154)4.2.2.2.2.操作步骤 (154)4.2.2.3.Get mails from POP:接收邮件 (156)4.2.2.3.1.功能描述 (156)4.2.2.3.2.操作步骤 (156)4.2.3.File management(19) (158)4.2.3.1.Process result filenames (158)4.2.3.2.File Compare:比较文件 (158)4.2.3.2.1.功能描述 (158)4.2.3.2.2.操作步骤 (158)4.2.3.3.Create a folder:创建文件夹 (159)4.2.3.3.1.功能描述 (159)4.2.3.3.2.操作步骤 (159)4.2.3.4.Unzip file:解压ZIP文件 (159)4.2.3.4.2.操作步骤 (160)4.2.3.5.Delete file:删除文件 (161)4.2.3.5.1.功能描述 (161)4.2.3.5.2.操作步骤 (161)4.2.3.6.HTTP (162)4.2.3.7.Write to file (162)4.2.3.7.1.功能描述 (162)4.2.3.7.2.操作步骤 (162)4.2.3.8.Convert file between Windows and Unix (163)pare folders:比较文件夹 (163)4.2.3.9.1.功能描述 (163)4.2.3.9.2.操作步骤 (163)4.2.3.10.Zip file:压缩文件 (164)4.2.3.10.1.功能描述 (164)4.2.3.11.Copy Files (165)4.2.3.11.1.功能描述 (165)4.2.3.11.2.操作步骤 (165)4.2.3.12.Add filenames to result添加文件名到结果 (166)4.2.3.12.1.功能描述 (166)4.2.3.12.2.操作步骤 (166)4.2.3.13.Delete folders:删除文件夹 (167)4.2.3.13.1.功能描述 (167)4.2.3.13.2.操作步骤 (167)4.2.3.14.Delete filenames from result:在结果中删除文件名 (168)4.2.3.14.1.功能描述 (168)4.2.3.14.2.操作步骤 (168)4.2.3.15.Delete files:删除多个文件 (169)4.2.3.15.1.功能描述 (169)4.2.3.15.2.操作步骤 (169)4.2.3.16.Wait for file:等待文件 (170)4.2.3.16.1.功能描述 (170)4.2.3.16.2.操作步骤 (170)4.2.3.17.Move Files移动文件 (171)4.2.3.17.1.功能描述 (171)4.2.3.17.2.操作步骤 (171)4.2.3.18.Create file:创建文件 (171)4.2.3.18.1.功能描述 (172)4.2.3.18.2.操作步骤 (172)4.2.3.19.Copy or Move result filenames:根据结果复制或移动文件 (172)4.2.3.19.1.功能描述 (172)4.2.3.19.2.操作步骤 (173)4.2.4.Conditions(12) (174)4.2.4.1.Check webservice availability:检查WEB服务是否可用 (174)4.2.4.1.2.操作步骤 (174)4.2.4.2.Check files locked:判断是否有文件被锁定 (175)4.2.4.2.1.功能描述 (175)4.2.4.2.2.操作步骤 (175)4.2.4.3.Colums exist in a table:检查列在表中是否存在 (176)4.2.4.3.1.功能描述 (176)4.2.4.3.2.操作步骤 (176)4.2.4.4.Wait for (177)4.2.4.4.1.功能描述 (177)4.2.4.4.2.操作步骤 (177)4.2.4.5.Evaluate files metrics (177)4.2.4.6.Check Db connections (177)4.2.4.6.1.功能描述 (177)4.2.4.6.2.操作步骤 (178)4.2.4.7.File Exists:文件存在 (178)4.2.4.7.1.功能描述 (178)4.2.4.7.2.操作步骤 (178)4.2.4.8.Evaluate rows number in a table:判断标中行数 (178)4.2.4.8.1.功能描述 (178)4.2.4.8.2.操作步骤 (179)4.2.4.9.Checks if files exist:检查文件是否存在 (180)4.2.4.9.1.功能描述 (180)4.2.4.9.2.操作步骤 (180)4.2.4.10.Check if a folder is empty检查文件夹是否为空 (180)4.2.4.10.1.功能描述 (181)4.2.4.10.2.操作步骤 (181)4.2.4.11.Simple evaluation:简单评估 (181)4.2.4.11.1.功能描述 (181)4.2.4.11.2.操作步骤 (182)4.2.4.12.Table exists:表存在 (182)4.2.4.12.1.功能描述 (183)4.2.4.12.2.操作步骤 (183)4.2.5.Scripting(3) (183)4.2.5.1.Shell (183)4.2.5.1.1.功能描述 (183)4.2.5.1.2.操作步骤 (184)4.2.5.2.SQL (186)4.2.5.2.1.功能描述 (186)4.2.5.2.2.操作步骤 (186)4.2.5.3.JavaScript:Java脚本 (187)4.2.5.3.1.功能描述 (187)4.2.5.3.2.操作步骤 (188)4.2.6.Bulk loading(3) (190)4.2.6.1.BulkLoad form Mysql into file (190)4.2.6.2.BulkLoad into MSSQL (190)4.2.6.3.BulkLoad into Mysql (190)4.2.7.Big Data(10) (190)4.2.7.1.Oozie Job Execcutor (190)4.2.7.2.Hadoop Job Executor (190)4.2.7.3.Pig Script Executor (190)4.2.7.4.Amazon Hive Job Executor (190)4.2.7.5.Spark Submit (190)4.2.7.6.Sqoop Export (190)4.2.7.7.Sqoop Import (190)4.2.7.8.Pentaho Mapreduce (190)4.2.7.9.Hadoop Copy Files (190)4.2.7.10.Amazon EMR Job Executor (190)4.2.8.Modeling(2) (191)4.2.8.1.Build Model (191)4.2.8.2.Publish Model (191)4.2.9.XML(4) (191)4.2.9.1.XSD Validator (191)4.2.9.2.Check if XML file is well formed (191)4.2.9.3.XSL Transformation (191)4.2.9.4.DTD Validator (191)4.2.10.Utility(13) (191)4.2.10.1.Truncate tables (191)4.2.10.2.Display Msgbox Info (191)4.2.10.3.Wait for SQL (191)4.2.10.4.Abort job (192)4.2.10.5.Talend Job Execution (192)4.2.10.6.HL7 MLLP Acknowledge (192)4.2.10.7.Send Nagios passive check (192)4.2.10.8.Ping a host (192)4.2.10.9.Write To Log (192)4.2.10.10.Telnet a host (193)4.2.10.11.HL7 MLLP Input (193)4.2.10.12.Send information using Syslog (193)4.2.10.13.Send SNMP trap (193)4.2.11.Reposotory(2) (194)4.2.11.1.Export repository to XML file (194)4.2.11.2.Check if connected to repository (194)4.2.12.File transfer(8) (194)4.2.12.1.Get a file with FTP (194)4.2.12.1.1.功能描述 (195)4.2.12.1.2.操作步骤 (195)4.2.12.2.Put a file with FTP (197)4.2.12.2.1.功能描述 (198)4.2.12.2.2.操作步骤 (198)4.2.12.4.FTP Delete:删除FTP文件 (199)4.2.12.4.1.功能描述 (199)4.2.12.4.2.操作步骤 (199)4.2.12.5.Get a file with SFTP (199)4.2.12.5.1.功能描述 (199)4.2.12.5.2.操作步骤 (200)4.2.12.6.Put a file with SFTP (200)4.2.12.6.1.功能描述 (201)4.2.12.6.2.操作步骤 (201)4.2.12.7.Upload files to FTPS (201)4.2.13.File encryption(3) (202)4.2.13.1.Verify file signature with PGP (202)4.2.13.2.Decrypt files with PGP (202)4.2.13.3.Encrypt files with PGP (202)4.2.14.Palo(2) (202)4.2.14.1.Palo Cube Delete (202)4.2.14.2.Palo Cube Create (202)4.2.15.Deprecated(2) (202)4.2.15.1.MS Access Bulk Load (202)4.2.15.2.Example Job (202)更新记录第一章.Kettle 基础介绍1.1.核心组件Spoon是构建ETL Jobs和Transformations的工具。
史上最强Kettle培训教程一、引言Kettle是一款开源的ETL工具,具有简单易用、功能强大、扩展性强等特点。
本教程旨在帮助读者全面了解Kettle的基础知识、高级应用以及最佳实践,从而掌握这款强大的ETL工具。
二、Kettle简介1.1Kettle概述Kettle是一款基于Java开发的ETL工具,主要用于数据抽取、转换和加载。
它由Pentaho公司开发,并在2006年开源。
Kettle支持多种数据源,如关系型数据库、文本文件、Excel文件等,并且提供了丰富的转换组件,可以满足各种复杂的数据处理需求。
1.2Kettle主要组件Kettle主要包括两个组件:Spoon和Pan。
Spoon是Kettle的图形界面设计工具,用于创建和编辑ETL转换;Pan是Kettle的命令行执行工具,用于执行Spoon中创建的转换。
三、Kettle基础教程2.1环境搭建2.2Spoon界面介绍启动Spoon,看到的是欢迎界面。
“新建”按钮,创建一个转换或作业。
在转换编辑界面,左侧为组件面板,右侧为画布。
在画布上,我们可以通过拖拽组件来创建ETL流程。
2.3创建转换在本节中,我们将学习如何创建一个简单的ETL转换。
从组件面板中拖拽一个“表输入”组件到画布上,双击该组件,设置数据库连接和SQL查询。
然后,拖拽一个“表输出”组件到画布上,双击该组件,设置目标数据库连接和表名。
将“表输入”和“表输出”组件连接起来,保存并运行转换。
2.4执行转换pan.sh-file=/path/to/your/transformation.ktr其中,`/path/to/your/transformation.ktr`为转换文件的路径。
四、Kettle高级教程3.1数据类型转换在ETL过程中,我们经常需要对数据进行类型转换。
Kettle提供了丰富的类型转换组件,如“复制记录”、“字段选择”等。
在本节中,我们将学习如何使用这些组件进行数据类型转换。