kettle第一课讲义
- 格式:pdf
- 大小:870.34 KB
- 文档页数:32
kettle入门教程Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。
Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
Kettle 中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job 则完成整个工作流的控制。
方法/步骤1.Kettle的下载与安装(在本文中使用的kettle版本为7.0.0.0-25)运行要求:JDK1.8kettle的最新下载地址:/projects/data-integration/2.打开kettle首先解压下载下来的压缩包如:pdi-ce-7.0.0.0-25.zip然后打开Spoon.bat,如图所示:打开后请耐心等待一会儿时间。
3.建立转换。
在文件->新建装换。
新建转换后在左边的主对象树中建立DB连接用以连接数据库。
如图所示:建立数据库连接的过程与其他数据库管理软件连接数据库类似。
注意:在数据库链接的过程中,可能会报某个数据库连接找不到的异常。
那是因为你没有对应的数据库链接驱动,请下载对应驱动后,放入kettle的lib文件夹。
4.简单的数据表插入\更新(1)新建表插入在左边的面板中选择“核心对象”,在核心对象里面选择“输入->表输入”,用鼠标拖动到右边面板。
如图所示:5.双击拖过来的表,可以编辑表输入。
选择数据库连接和编辑sql语句,在这一步可以点击预览,查看自己是否连接正确。
6.(2)通过插入\更新输出到表。
在左边面板中选择核心对象、选择“输出->插入\更新”如图所示:7.编辑插入更新:首先:表输入连接插入更新。
选中表输入,按住shift键,拖向插入更新。
Kettle简要说明文档一.Spoon1 . 登陆方式1.1 以创建Repository的方式登陆,会把生成的transformation保存到数据库上,在Sybase 数据库环境上有存在很多bug,不推荐以该种方式登陆。
1.2 以不创建资源库(No Repository)的方式登陆,会把生成的transformation保存到相应的文件,即以文件方式管理。
以下都是在不创建资源库下的说明!以Sybase作为数据库!2 . 创建连接例如3 . 基本功能3.1 以文本文件作为数据源,以表的方式保存(文本文件中内容为中文时,相应存入到表中的记录为乱码,存入到文件中时不存在中文乱码问题)双击Text file input先选择要作为数据源的文本文件,再点击Add,点面板中Content,去掉Header复选框,点面板中Fields,点Get fields为文本文件设置列,如图1,双击Table output,选择Connection,输入Target table,点SQL以生成sql语句,再Execute,如图2图1图23.2以文本文件作为数据源,以文件的方式保存设置数据源操作与3.1类似,双击Text file output以设置文本文件输出格式,可以点面板中Content列来设置,可去除Separator,Enclosure中内容来维持与源文本文件格式一致,如图3图33.3以Excel文件作为数据源,以表的方式保存(当excel文件中有内容为中文时,相应存入到表中的记录内容为乱码)双击Excel Input选择要作为数据源的excel文件并将它Add,点面板中Sheets----Get sheetname(s)…,将相应的sheet加入,如图4;点面板中Fields----Get fields from header row…以得到相应表中的字段,如图5图4图53.4分别以2个表中的数据作为数据源,并且过滤掉重复的记录,再以表的方式保存(2个作为数据源的表中的字段必须一致)双击Unique rows,点击Get以得到上一Step得到的字段,可以对字段进行筛选,如图6图63.5以表的数据作为数据源,根据条件过滤掉记录,再以表的方式保存双击Filter rows,可以双击<field>选择相应字段,双击<value>可以为字段赋值,双击”+”可以连接下一个条件图73.6以表的数据作为数据源,根据条件过滤掉字段,再以表的方式保存双击Select values,点击Get fields to select一得到上一个Step中的所有字段并且筛选字段,如图8图83.7以表的数据作为数据源,根据条件将数据存入到目标表当条件全部相等只作更新,否则将往表中插入数据,如图9图9只做更新。
目录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循环自增,超详细,一步一步)一、本文主要处理的几个方面问题(可以根据自己需求选择需要用到的内容查看):1、Kettle循环的使用;2、Kettle从MySQL读输入数据控件的使用;3、Kettle导出Excel控件的使用;4、时间日期的循环自增;二、涉及到的Kettle控件:1、设置变量控件:用于实现设置循环的起始、终止时间;2、检验字段的值控件:用于判断循环的条件,决定循环是否继续进行,还是退出循环;3、转换控件:用于业务数据的“转换”操作处理,比如查询数据并导出excel,以及时间自增的实现;4、获得变量控件:用于获取作业中其他控件传来的变量;5、增加序列控件:用于控制自增的步长,以及自增的终点;6、计算器控件:用于把从“增加序列”控件获取来的步长及终点,做计算,得到自增后的数值或日期等等;7、设置环境变量控件:用于设置变量,这里用来把自增后的值重新赋值给对应的变量;8、表输入控件:用于把MySQL数据库里的数据读出来;9、Microsoft Excel输出控件:用于把得到的数据导入到Excel存储;三、正式开始写Kettle程序!第一部分:主作业的设计及实现:1、梳理通自己需要实现的作业的整个流程:如下图所示,首先新建一个“作业”,根据自己的需求,把需要用到的组件拉出来(不知道自己需要用什么组件可以把鼠标悬停看看介绍,或者拉一个出来写demo遛一遛,再或者直接百度自己的需求,看别人用什么组件实现),然后按照需要执行的顺序,连接在一起(连接操作:按住shift键,然后鼠标从头组件按住,拉向要指向的组件即可),组件的名字都是可以自己定义的,如下图,根据自己实现的功能,给组件定义一个显而易懂的名字即可。
注:每一个Hops即连接控件之间的连线,点击他们的时候都可以使之”生效“、”失效“,或者改变它的状态,如”绿色的对勾“、”红色的叉“。
2、起始终止时间设置(设置变量控件):设置的起始时间为整个循环的起点,终止时间为整个循环的终点,根据自己需要定义值或者变量即可。
史上最强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提供了丰富的类型转换组件,如“复制记录”、“字段选择”等。
在本节中,我们将学习如何使用这些组件进行数据类型转换。
kettle 分层解析摘要:一、Kettle介绍1.Kettle的定义2.Kettle的作用二、Kettle的组件1.Kettle主界面2.Kettle元数据3.Kettle作业设计器4.Kettle转换设计器5.Kettle数据源6.Kettle数据目标三、Kettle的安装与配置1.安装环境2.安装步骤3.配置Kettle四、Kettle的使用1.导入和导出数据2.数据转换3.作业调度五、Kettle的案例分析1.案例一2.案例二3.案例三正文:一、Kettle介绍Kettle是一款开源的ETL工具,主要用于数据抽取、转换和加载。
它具有强大的功能和灵活的配置选项,可以帮助用户轻松地处理各种数据问题。
Kettle不仅可以用于数据集成,还可以用于数据清洗、数据转换、数据汇总等任务,是数据处理领域的重要工具之一。
二、Kettle的组件1.Kettle主界面:Kettle的主界面提供了各种工具栏、菜单和选项卡,方便用户进行各种操作。
2.Kettle元数据:Kettle元数据用于描述数据源和目标的数据结构,帮助用户更好地理解数据。
3.Kettle作业设计器:Kettle作业设计器用于创建和管理数据处理作业,包括各种转换和任务。
4.Kettle转换设计器:Kettle转换设计器用于创建和管理数据转换步骤,包括各种操作和函数。
5.Kettle数据源:Kettle支持多种数据源,如数据库、文件、Web服务等,方便用户连接和提取数据。
6.Kettle数据目标:Kettle支持多种数据目标,如数据库、文件、Web服务等,方便用户将处理后的数据加载到目标系统中。
三、Kettle的安装与配置1.安装环境:Kettle支持各种操作系统,如Windows、Linux和Mac OS 等。
用户需要确保安装环境满足Kettle的系统要求。
2.安装步骤:用户可以下载Kettle的安装包,然后按照安装向导的提示完成安装过程。
3.配置Kettle:安装完成后,用户需要配置Kettle,包括设置数据源和目标、激活插件等。