自己总结的Kettle使用方法和成果
- 格式:docx
- 大小:729.14 KB
- 文档页数:11
KETTLE使用自己总结的Kettle使用方法和成果说明简介Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix 上运行,绿色无需安装,数据抽取高效稳定。
Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出.Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做.Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
Kettle可以在http://kettle。
pentaho。
org/网站下载到。
注:ETL,是英文Extract—Transform—Load 的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程.ETL一词较常用在数据仓库,但其对象并不限于数据仓库。
下载和安装首先,需要下载开源免费的pdi-ce软件压缩包,当前最新版本为5.20。
0。
下载网址:/projects/pentaho/files/Data%20Integration/然后,解压下载的软件压缩包:pdi—ce—5。
2.0.0—209.zip,解压后会在当前目录下上传一个目录,名为data—integration。
由于Kettle是使用Java开发的,所以系统环境需要安装并且配置好JDK。
žKettle可以在http:///网站下载ž下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可。
运行Kettle进入到Kettle目录,如果Kettle部署在windows环境下,双击运行spoon.bat或Kettle.exe文件.Linux用户需要运行spoon。
sh文件,进入到Shell提示行窗口,进入到解压目录中执行下面的命令:# chmod +x spoon。
kettle的使用方法Kettle是一种用于数据集成和转换的开源工具,也被称为Pentaho Data Integrator(PDI)。
它提供了一套功能强大的工具,可以帮助用户从不同的数据源中提取、转换和加载数据。
本文将介绍Kettle 的使用方法,帮助读者快速上手使用该工具。
一、安装Kettle您需要从Kettle官方网站下载最新版本的安装包。
安装包通常是一个压缩文件,您可以将其解压到您选择的目录中。
然后,通过运行解压后的文件夹中的启动脚本来启动Kettle。
二、连接数据源在使用Kettle之前,您需要先连接到您的数据源。
Kettle支持多种类型的数据源,包括关系型数据库、文件、Web服务等。
您可以使用Kettle提供的连接器来连接到您的数据源,或者根据需要自定义连接器。
连接成功后,您可以在Kettle中查看和操作您的数据。
三、创建转换在Kettle中,数据转换是通过创建转换作业来实现的。
转换作业是由一系列的转换步骤组成的,每个步骤都执行特定的数据操作。
您可以使用Kettle提供的各种转换步骤,如数据提取、数据过滤、数据转换、数据加载等,来构建您的转换作业。
四、配置转换步骤在创建转换作业后,您需要配置每个转换步骤的参数和选项。
例如,在数据提取步骤中,您需要指定要提取的数据源和查询条件。
在数据转换步骤中,您可以定义数据的转换逻辑,如数据清洗、数据合并、数据计算等。
在数据加载步骤中,您需要指定目标数据表和加载方式。
五、运行转换作业完成转换步骤的配置后,您可以运行整个转换作业,将数据从源数据源提取、转换和加载到目标数据源。
在运行转换作业之前,您可以选择性地预览转换结果,以确保数据操作的准确性和一致性。
Kettle还提供了调试功能,可以帮助您快速定位和解决转换作业中的问题。
六、调度转换作业除了手动运行转换作业之外,Kettle还支持将转换作业安排为定期执行的任务。
您可以使用Kettle提供的调度功能,根据您的需求设置转换作业的执行时间和频率。
kettle多条件生成新值Kettle多条件生成新值的方法与应用Kettle作为一款强大的开源ETL工具,广泛应用于数据处理和数据集成领域。
在Kettle中,多条件生成新值是一种常见的需求,它能够根据一系列条件,生成新的字段值或者修改现有字段的值。
本文将介绍Kettle中多条件生成新值的方法和应用,帮助读者更好地掌握这一功能。
一、Kettle多条件生成新值的基本原理在Kettle中,可以使用"Switch / Case"步骤来实现多条件生成新值的功能。
该步骤类似于编程语言中的"switch-case"语句,根据不同的条件执行不同的操作。
具体步骤如下:1. 首先,需要选择一个字段作为条件字段。
这个字段的值将作为判断的依据。
2. 然后,需要为不同的条件设置对应的值,并选择一个字段作为结果字段,用来存储生成的新值。
3. 最后,根据条件字段的值,将对应的结果值写入结果字段。
二、Kettle多条件生成新值的操作步骤下面以一个具体的案例来演示如何在Kettle中使用多条件生成新值。
假设我们有一个包含学生信息的数据表,其中包括学生姓名、年龄和性别三个字段。
现在我们需要根据学生的年龄和性别来生成一个新的字段,表示学生的年龄段。
具体步骤如下:1. 首先,在Kettle中创建一个转换(Transformation)。
2. 将数据源与"Switch / Case"步骤连接起来。
3. 在"Switch / Case"步骤中,选择年龄字段作为条件字段。
4. 设置不同的条件,例如小于18岁、18岁到25岁、大于25岁等。
5. 为每个条件设置对应的结果值,例如"未成年"、"青年"、"中年"等。
6. 选择一个字段作为结果字段,用来存储生成的新值。
7. 运行转换,即可在结果字段中看到生成的新值。
Kettle操作文档1.Kettle介绍。
(2)2. Kettle下载。
(2)3.使用规范和注意事项。
(3)3.1.配置数据库的全局变量。
(3)3.2.文件命名规范(不要用汉字)。
(3)3.3.文件存放位置。
(3)3.4.配置启动任务文件。
(3)3.5.注意事项。
(4)4. Kettle部署使用。
(4)4.1.启动kettle。
(4)4.2.创建转换文件。
(5)4.2.1.使用标识字段实现新增数据。
(5)4.2.2.使用时间戳实现新增或修改数据。
(11)4.2.3.使用时间比较实现新增或修改数据。
(14)4.2.4.使用对某一数据值比较实现新增或修改数据。
(17)4.3.创建任务文件。
(19)4.4.命令行启动任务。
(20)1.Kettle介绍。
ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于政府部门来说,经常会遇到大数据量的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少。
Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高效稳定,提供了图形化界面,使用很方便。
Kettle中有两种脚本文件,transformation和job,transformation 完成针对数据的基础转换,job则完成整个工作流的控制。
2.Kettle下载。
Kettle可以在http://2.2.2.240/bbs/网站下载kettle压缩包,因kettle为绿色软件,解压即可使用。
这个压缩包,公司加了一些功能,跟官网下载的不太一样,建议使用公司论坛上的压缩包。
资料网站:/。
注:解压路径尽量不要有中文。
.kettle:存放kettle的一些环境变量信息,资源库的信息。
jre6:存放java运行库文件(1.6版本)。
launcher:存放启动的文件以及启动的配置信息。
lib:存放kettle的库文件。
KETTLE使用说明在本使用说明中,我们将详细介绍如何使用KETTLE完成一些常见的数据处理任务。
第一步:安装和启动KETTLE在Windows中,双击运行Spoon.bat文件来启动KETTLE。
在Linux 和Mac OS中,打开终端,进入KETTLE目录,输入"./spoon.sh"命令来启动KETTLE。
第二步:创建一个新的数据流程启动KETTLE后,您将看到一个图形化界面。
在左上角的工具栏中,有一个新建按钮,点击它来创建一个新的数据流程。
在创建数据流程时,您需要为其指定一个名称。
完成后,点击确定按钮。
第三步:添加数据源在左侧的工具箱中,您可以找到各种组件,如输入步骤、输出步骤、转换步骤等。
为了演示,我们先添加一个输入步骤。
在工具箱中,找到输入步骤,并将其拖放到主界面中。
然后,双击该步骤,在弹出的对话框中配置数据源。
在配置对话框中,您需要指定数据源的类型,如文本文件、Excel文件、数据库等。
根据不同的类型,您可能需要提供相应的连接信息。
完成配置后,点击确定按钮。
在数据流程中,您可以使用转换步骤对数据进行处理。
为了演示,我们使用一个简单的转换步骤来删除重复的数据。
在工具箱中,找到去重复步骤,并将其拖放到已添加的输入步骤的下方。
然后,双击该步骤,在弹出的对话框中配置参数。
在配置对话框中,您需要指定要去重的字段。
您可以选择多个字段以进行复合去重。
完成配置后,点击确定按钮。
第五步:添加输出在数据流程中,您也需要指定一个输出步骤来保存处理后的数据。
在工具箱中,找到输出步骤,并将其拖放到已添加的去重复步骤的下方。
然后,双击该步骤,在弹出的对话框中配置输出格式和目标文件。
在配置对话框中,您需要指定输出的格式,如文本文件、Excel文件、数据库等。
根据不同的格式,您可能需要提供相应的连接信息。
完成配置后,点击确定按钮。
第六步:保存和运行数据流程完成对数据流程的配置后,点击工具栏中的保存按钮来保存数据流程。
ETL工具——kettle使用说明1简介ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),Kettle是一款国外开源的etl工具,纯java编写,数据抽取高效稳定。
2运行环境:OS:Window、Linux、Unix均可Jdk1.4以上3开始使用:Kettle可以在/网站下载。
下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可。
(本文着重介绍kettle3.2.0稳定版)Spoon是一个图形用户界面,在不同平台上运行Spoon需要不同的脚本:Spoon.bat:在windows平台运行Spoon(或直接点击Kettle.exe)。
Spoon.sh:在Linux、Apple OSX、Solaris平台运行Spoon。
登陆一般选择没有资源库:Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
4转换(Transformation)新建一个转换kettle默认transformation文件保存后后缀名为ktr新建数据库连接(此链接也可在用到的节点处配置)填写数据源配置内容点击Test测试连接成功:核心对象切换到核心对象,菜单列出的是Transformation中可以调用的环节列表,可以通过鼠标拖动的方式对环节进行添加。
并且可通过shift+鼠标拖动,实现环节之间的连接。
常用节点介绍(红色节点后面逐一演示)类别环节名称功能说明输入文本文件输入从本地文本文件输入数据表输入从数据库表中输入数据获取系统信息读取系统信息输入数据输出文本文件输出将处理结果输出到文本文件表输出将处理结果输出到数据库表插入/更新根据处理结果对数据库表机型插入更新,如果数据库中不存在相关记录则插入,否则为更新。
会根据查询条件中字段进行判断更新根据处理结果对数据库进行更新,若需要更新的数据在数据库表中无记录,则会报错停止删除根据处理结果对数据库记录进行删除,若需要删除的数据在数据库表中无记录,则会报错停止查询数据库查询根据设定的查询条件,对目标表进行查询,返回需要的结果字段流查询将目标表读取到内存,通过查询条件对内存中数据集进行查询调用DB存储过程调用数据库存储过程转换字段选择选择需要的字段,过滤掉不要的字段,也可做数据库字段对应过滤记录根据条件对记录进行分类排序记录将数据根据某以条件,进行排序空操作无操作增加常量增加需要的常量字段脚本Modified Java扩展功能,编写JavaScript脚本,对数据进行相应处理Script Value映射映射(子转换)数据映射作业Sat Variables设置环境变量Get Variables获取环境变量表输入双击拖动到工作面板上的表输入结点,选择(或者新建)所需要的数据库连接,点击获取SQL查询语句或自行编辑SQL。
kettle学习笔记(五)——kettle输出步骤⼀、概述 数据库表: • 表输出 • 更新,删除,插⼊/更新 • 批量加载(mysql,oracle) • 数据同步 ⽂件: • SQL ⽂件输出 • ⽂本⽂件输出 • XML 输出 • Excel Output/Excel Writer 其他(报表、应⽤)⼆、数据库输出 1.表输出 使⽤SQL的⽅式向数据库插⼊数据(INSERT) ⽀持批量提交 ⽀持分区(Date分区) ⽀持字段映射 ⽀持返回⾃增列 这⾥提⽰⼀下出现表输出的中⽂乱码问题的解决⽅案: 设置连接编码:characterEncoding utf8 设置连接编码⼀般就可以正常输出不乱吗的字符了。
如果还有问题,可以继续设置客户端编码 设置客户端:set names utf8; ⼀个测试的表输出如下: 如果选择分区,需要选择Date字段进⾏分区,并且需要⼿动创建表(例如按⽉分区,有201804 201805两个⽉,则需要创建tb_201804 tb_201805两个表) 如果是要错误输出,可以单击⼀下连接线改变输出⽅式(⼀把锁:开始了执⾏下⾯的,勾和叉:正确或者错误输出) 2.返回⾃增主键 表输出的配置如下: 选择了【裁剪表】,在数据加载之前会对此表做truncate操作。
预览即可查看返回的主键: 3.数据库字段映射 前⾯步骤可以后后⾯表输出进⾏字段映射匹配: 表输出配置如下: 字段映射: 使⽤猜⼀猜可以进⾏名称匹配,如果需要⼿动匹配,可以左右分别选择,点击Add即可! 并且映射完成之后也可以删除丢弃某些字段 4.其它操作——删除、更新、插⼊更新 删除: 根据关键字匹配,删除数据库中已有的数据。
更新: 根据关键字匹配,更新数据库中已有的数据。
插⼊更新: 有则更新,⽆则插⼊。
操作都是类似,上⾯进⾏匹配,下⾯进⾏处理: 5.数据同步 基于⽐较的同步⽅式。
根据⼀个flag字段执⾏相应的插⼊/更新/删除操作。
kettle常用的记录处理心得
kettle常用的记录处理心得
在使用Kettle数据集成工具时,我们经常需要对数据进行记录处理,以便更好地进行数据分析和应用。
下面是我在使用Kettle的过程中总结的一些记录处理的心得:
1. 去重复:使用Kettle的“去重复”步骤可以帮助我们去掉重复的记录。
我们选择需要去重复的字段为主键,然后在处理过程中进行比较和过滤即可。
2. 过滤记录:使用Kettle的“过滤记录”步骤可以帮助我们排除不需要的记录,比如为空或特定数值的记录。
在过滤的过程中,我们可以使用正则表达式或自定义脚本进行过滤。
3. 合并记录:使用Kettle的“合并记录”步骤可以帮助我们将多个记录合并成一个记录。
在合并的过程中,我们需要选择合并的字段,并且可以根据需要拼接或聚合字段值。
4. 分割记录:使用Kettle的“分割记录”步骤可以帮助我们将一个记录分割成多个记录。
在分割的过程中,我们可以选择分割的方式,比如按照指定的分割符或按照字段值。
5. 排序记录:使用Kettle的“排序记录”步骤可以帮助我们对记录进行排序,以便更好地进行后续的数据分析和应用。
我们可以选择需要排序的字段和排序的方式,比如升序或降序。
总之,在使用Kettle处理记录时,我们需要根据数据的实际情况选择合适的处理方式,并在处理的过程中注意数据类型的转换和数据精度的保留,以便保证处理结果的准确性和可靠性。
在实践中多尝试,多摸索,相信你会有更多的记录处理心得。
KETTLE使用自己总结的Kettle使用方法和成果说明简介Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
Kettle可以在/网站下载到。
注:ETL,是英文Extract-Transform-Load 的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。
ETL 一词较常用在数据仓库,但其对象并不限于数据仓库。
下载和安装首先,需要下载开源免费的pdi-ce软件压缩包,当前最新版本为5.20.0。
下载网址:/projects/pentaho/files/Data%20Integration/然后,解压下载的软件压缩包:pdi-ce-5.2.0.0-209.zip,解压后会在当前目录下上传一个目录,名为data-integration。
由于Kettle是使用Java开发的,所以系统环境需要安装并且配置好JDK。
žKettle可以在/网站下载ž 下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可。
运行Kettle进入到Kettle目录,如果Kettle部署在windows环境下,双击运行spoon.bat 或Kettle.exe文件。
Linux用户需要运行spoon.sh文件,进入到Shell提示行窗口,进入到解压目录中执行下面的命令:# chmod +x spoon.sh# nohup ./spoon.sh & 后台运行脚本这样就可以打开配置Kettle脚本的UI界面。
Kettle的简单使用首先,点击“文件—新建—转换”菜单创建一个转换。
我们可以看到转换的主对象数和核心对象区域,然后我们添加一个DB连接。
选择“注对象数”,双击“转换2”标签下的“DB连接”会弹出一个设置窗口。
填入连接名称,选择连接类型,配置数据库设置,然后测试下配置是否正确。
由于Kettle没有将所有的数据库的Driver文件集成,所以如果想连接指定的数据库,需要自己下载JDBC驱动,放入到解压目录下的lib目录中。
添加完JDBC 驱动后,必须重启下Kettle才能加载驱动。
1)Oracle的JDBC驱动:ojdbc6.jar2)MySQL的JDBC驱动:mysql-connector-java-5.1.32.jar注:在转换之前需要创建转换所需的表,原始表和转换的目标表。
点击“核心对象”标签页中的“输入”,选择“表输入”拖到“转换”区域。
双击“表输入”图标弹出表输入对话框,填入步骤名称,选择数据库连接,点击“获取SQL查询语句”,或者直接写入SQL语句,填写附件信息,点击“预览”按钮查看执行结果,没有错误,点击“确认”关闭对话框。
点击“核心对象”—“输出”,选择“Excel输出”拖入到转换区,双击Excel 输出图标,弹出对话框,选择文件名和其它附加参数,点击确认。
点击输入表的图标,同时按下shift键,再点击输出文件,将两者连接起来。
然后双击Excel输出进行配置。
最后一步就是执行kettle脚本,点击工具栏上的绿色箭头即可。
点击“启动”开始转换,在转换过程中会出现转换的信息,如下图所示。
完成转换后,我们可以Excel输出目录中查看转换结果。
注:时间字段换到Excel为空,修改SELECT语句中使用TO_CHAR转换成字符串,例如:TO_CHAR(START_TIME, 'yyyy-mm-dd HH24:MM:SS') AS START_TIME。
注:Excel中的记录不能超过65535条,否则会自动关闭文件,导致转换失败。
上面是一个简单的数据迁徙脚本,从数据库导出数据到EXCEL文件中。
Kettle处理HBase本教程使用的软件版本信息如下:1)Hadoop(1.2.1)2)Pantaho Data Integration(5.2.0)3)HBase(0.94.19)。
Pentaho Shim(社区版)目前支持的Hadoop版本:参考:/display/BAD/Configuring+Pentaho+for+your+Hadoop+Distr o+and+Version注:从上表中看出它不支持hadoop 1.2.x版本。
解决办法是使用HDP13的插件(基于hadoop-1.0.3/hbase-0.94.6)替代,步骤如下:1)从https:///50-hdp12下载hdp13的shim插件。
2)解压到plugins/pentaho-big-data-plugin/hadoop-configurations目录下,目录名为hdp13。
3)进入plugins/pentaho-big-data-plugin目录,修改plugin.properties文件中的active.hadoop.configuration属性为,缺省值为hadoop-20,如下:active.hadoop.configuration=hdp133)替换掉hdp13/lib目录下与Hbase和hadoop有关的Jar包,拷贝一份hbase-site.xml到hdp13目录下。
| hdp13/lib/pmr目录下替换后的Jar包:| hdp13/lib/client目录下替换后的Jar包:* 在HBase中创建一个weblogs表,步骤如下:1)打开HBase shell,在命令行中输入:hbase shell2)在Hbase中创建一个表,在hbase shell中输入:create 'weblogs', 'pageviews'* 上面命令会创建一个带有一个列族pageviews的weblogs的表。
3)执行quit退出HBase shell。
参考文档:/Documentation/5.2/0L0/0Y0/0F0/040/000/000/0301. 从下面网址下载weblogs_hbase.txt.zip压缩文件作为文本文件数据源导入:/download/attachments/23530622/weblogs_hbase.txt. zip2. 从Spoon(Kettle)中,创建一个新的转换,选择“文件—新建—转换”。
点击“核心对象—输入”标签,然后把“文本文件输入”拖到画板中。
3. 双击文本文件输入,弹出文本文件输入对话框,点击“浏览…”按钮选择weblog_hbase.txt文件,点击“添加”按钮。
选择“内容”标签,清空分隔符点击“Insert TAB”按钮,选中“头部行数量”选择框,从格式的下拉菜单中选择Unix格式。
配置输入字段,从“字段”标签页中选择“获取字段”按钮,弹出可用的字段列表,询问采样的数量,输入100点击“OK”按钮。
修改字段key的类型为String,长度为20。
点击“OK”按钮关闭对话框。
●在“核心对象—Big Data”下,把HBase Output图标拖入到面板中。
并且把文本文件输入与HBase Outpu连接起来(按住shift+拖曳)。
●双击Hbase Output,在弹出对话框中输入Zookeeper的主机名和端口号。
1)Zookeeper host(s)字段中输入Zookeeper主机名,多个主机名使用逗号分隔。
对于本地集群使用localhost。
2)在Zookeeper port字段中,输入你的Zookeeper端口号,缺省值2181。
●创建一个Hbase映射,在Create/Edit mappings标签页中告诉Pentaho在HBase中如何存储数据。
1)点击Get table names按钮,在HBase table name的选择框中选择weblogs2)Mapping name,输入pageviews3)点击“Get imcoming fields”按钮4)从Alias的key这行修改Key为Y,清除掉Column family和Column name 字段,并且设置Type字段为String,点击Save mapping。
●配置HBase out使用上面刚刚创建的映射。
1)进入到Configuration Connection标签页,点击Get table names。
2)点击Get table names,在Hbase table name的选择框中选择weblogs。
3)点击Get mappings for speficed table获取指定的表。
4)点击Mapping name,选择pageviews,点击“确认”按钮关闭窗口。
点击“文件—另存为”菜单保存转换,在选择目录中输入load_hbase.ktr作为文件名。
点击转换工具栏中的运行按钮运行转换,或者选择“动作—运行”菜单打开一个执行转换的窗口,点击“启动”按钮。
在Spoon接口的下面打开一个执行结果窗口,显示运行时转换的进度。
在几十秒之后完成转换。
如果在转换过程中出现任何错误,将会红色高亮显示,在日志标签页查看错误信息。
通过查询HBase验证数据1)从命令行中,输入下面命令打开HBase shell:hbase shell 2)通过这个命令查询HBase:scan 'weblogs', {LIMIT => 10} 应该返回数据的行数。