kettle第一课讲义

合集下载

数据集成-kettle-基础

数据集成-kettle-基础

3 转换模型-步骤的输入输出字段
右键单击步骤,可以查看该步骤的输入和输出字段
3 转换模型-步骤的输入输出字段
输入字段
输出字段
知识回顾 Knowledge
Review
祝您成功!
数据集成-软件基础
数据集成软件基础 ❖1.软件运行 ❖2.转换模型
1 软件运行-配置
❖ 安装JRE7.0以上 ❖ 配置JAVA_HOME
1 软件运行-主界面
1 软件运行-菜单
1 软件运行-转换界面
❖ 数据实时捕获
1 软件的运行-转换界面
❖ 数据实时捕获
数据集成软件基础 ❖1.软件的启动与界面 ❖2.转换模型
计算节点 增加字段
3 转换模型-2)元数据设置
插入/更新节点 写数据
Src 数据连接
3 转换模型-2)元数据设置
执行转换
执行转换启动界面
转换执行结果
转换执行结果
3 转换模型-线程模型和通信模型
每个步骤都是一个 单独的线程
以线程运行
Rowset
Rowset
每次以行为单位进 行处理
以同步队列为通信
<单价> 5000元
<数量> 5
字段合并
<设备订单>
<设备名称> 交换机
<金额> 2.5万
3 转换模型-1)流程设置
转换模型总体为关系型模型,均会分解成行和列进行处理
3 转换模型-2)元数据设置
表输入节点 读取数据
Src 数据连接
3 转换模型-2)元数据设置
2、元数据设置
3 转换模型-2)元数据设置
Байду номын сангаас

kettle入门教程

kettle入门教程

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使用培训

KETTLE使用培训

• 使用原则
采集demo
• 采集demo1和采集demo2说明 两个demo实现的业务是一样的,区别 是demo2多用了几个step去实现连接功能。 意在说明两点:1、如果一条sql实现不了的, 可以通过Kettle提供的step实现。2、Kettle 很灵活,所以从性能上考虑,对开发人员 的要求也是挺高的,下面一节会给出一些 原则。
使用原则???能使用truncatetable的时候就不要使用deleteallrow这种类似sql合理的分区如果删除操作是基于某一个分区的就不要使用deleterow这种方式不管是deletesql还是delete步骤直接把分区drop掉再重新创建尽量缩小输入的数据集的大小增量更新也是为了这个目的尽量使用数据库原生的方式装载文本文件oracle的sqlloadermysql的bulkloader步骤尽量不要用kettle的calculate计算步骤能用数据库本身的sql就用sql不能用sql就尽量想办法用procedure实在不行才是calculate步骤
常用Step介绍
• Table Input和Table Output a1表字段名:a,b A2表字段名:a,c 在这个demo中可以看出两点: 1、数据流(输入/出流)中的数据 字段名与生成该数据流的Step自动 获取。 2、表输出是按照数据流的数据自 动匹配并且插入到输出表中的。
常用Step介绍
采集demo
• 采集demo1
采集demo
• 采集demo2
使用原则
• • • • 目的 Kettle介绍 Kettle实战 使用原则
使用原则
• 尽量使用数据库连接池 • 尽量提高批处理的commit size • 尽量使用缓存,缓存尽量大一些(主要是文本文件和数据 流) • Kettle 是Java 做的,尽量用大一点的内存参数启动Kettle. • 可以使用sql 来做的一些操作尽量用sql Group , merge , stream lookup ,split field 这些操作都 是比较慢的,想办法避免他们.,能用sql 就用sql • 插入大量数据的时候尽量把索引删掉 • 尽量避免使用update , delete 操作,尤其是update , 如果 可以把update 变成先delete , 后insert .

Kettle_part1

Kettle_part1

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教程一简介及入门(2024)

kettle教程一简介及入门(2024)
并行处理
利用Kettle的并行处理功能,可以将一个大 的任务拆分成多个小任务并行执行,提高处 理效率。
使用批量操作
在处理大量数据时,使用批量操作可以减少数据库 交互次数,提高数据处理速度。
优化SQL查询
编写高效的SQL查询语句,减少不必要的数 据扫描和计算,可以提高数据处理效率。
2024/1/30
28
13
菜单栏功能详解
01
转换菜单
提供转换相关的操作,如运行转换 、验证转换、预览数据等。
工具菜单
包括选项设置、数据库连接管理、 日志查看等工具。
03
2024/1/30
02
作业菜单
提供作业相关的操作,如运行作业 、验证作业等。
帮助菜单
提供Kettle的帮助文档和在线资源链 接。
0414工具栏功来自介绍变量和参数的作用域
了解变量和参数的作用域对于正确使用它们至关重要。在Kettle中,变量和参数的作用域可以是全局的、转 换级别的或作业级别的,具体取决于在哪里定义它们。
23
调用外部程序或脚本
调用外部程序
Kettle允许在数据处理流程中调 用外部程序或可执行文件。这可 以通过使用“执行程序”步骤来 实现,该步骤允许指定要运行的 程序及其参数。
保存当前编辑的转换或作 业文件。
保存转换/作业
打开已有的转换或作业文 件进行编辑。
打开转换/作业
快速创建新的转换或作业 文件。
新建转换/作业
2024/1/30
15
工具栏功能介绍
2024/1/30
运行转换/作业
01
启动转换或作业的执行过程。
停止转换/作业
02
中断当前正在执行的转换或作业。

Kettle入门.docx

Kettle入门.docx

目录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使用教程(超详细)

01
3. 运行Kettle启动脚本(spoon.sh或 spoon.bat),启动Kettle图形化界面。
03
02
2. 配置Java环境变量,确保系统中已安装Java 并正确配置了JAVA_HOME环境变量。
04
4. 在Kettle界面中,配置数据源和数据目标 连接信息。
5. 创建ETL任务,拖拽组件进行连接和配置。
实战演练
以一个具体的数据迁移任务为例,详细介绍如 何使用Kettle实现ETL过程的自动化。
案例二:数据仓库建设实践
数据仓库概念介绍
数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支 持管理决策。
Kettle在数据仓库建设中的应用
Kettle提供了丰富的数据转换和处理功能,可以方便地实现数据仓库的建模、数据抽取、 清洗和加载等任务。
它支持多种数据源和数据目标,包括关系型数据库、文 件、API等。
Kettle提供了图形化界面和易用的组件,使得用户可以方 便地进行数据集成和处理。
Kettle特点与优势
图形化界面
Kettle提供了直观的图形化界 面,使得用户可以轻松地构建 ETL任务。
灵活性
Kettle支持自定义组件和插件, 用户可以根据自己的需求进行 扩展。
03
实战演练
以一个具体的实时数据处理任务为例, 介绍如何使用Kettle设计实时数据处理 流程。
案例四:Kettle在数据挖掘中应用
数据挖掘概念介绍
01
数据挖掘是指从大量数据中提取出有用的信息和知识的
过程,包括分类、聚类、关联规则挖掘等任务。
Kettle在数据挖掘中的应用
02
Kettle提供了丰富的数据处理和转换功能,可以方便地

ETL工具 Kettle 培训教程

ETL工具 Kettle 培训教程

- 13 -
Output Steps
• Main output step – Delete Output – Insert / Update Output – Update Output – Table Output – Text file output
- 14 -
Labs Instruction
ETL Phase 1 Labs 1-5
ETL Phase 2 Labs 6-12 Staging Relational Tables Data Warehouse Relational Tables
Source
Comma-delimited flat files Relational Tables
Input stream
Input Step Hop
output stream
Output Step Transformation -9-
Several Concepts of Transformation
• • • • • • • Step Hop Mapping Note – Text comments for transformation Row – Lines in input stream or output stream. e.g. row[0] refers to first row values. Field – The column of row. e.g. Fieldname.setValue(“lengpeng”) Values – Values is a part of row, :value type contains Strings, floating point Numbers,unlimited precision BigNumbers, Integers, Dates and Boolean, e.g. fieldname.getString() Input Stream – Data stream of input step. Output Stream – Data stream of output step.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Pentaho Data Integration(Kettle)是一款开源的 ETL(Extract Transformation Load) 工具,用来完成 数据的抽取,清洗、转换和加载等数据处理方面的 工作。
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle 介绍 – 基本情况 源代码下载地址: svn:///svnkettleroot/Kettle/trunk 官方文档: Bug报告地址:/browse/PDI 官方论坛: /forumdisplay.php?f=135 中文论坛: 当前版本:Version 4.4 (2013年) 原作者: Matt License: 4.3 以前 LGPL ,4.3 以后改为Apache 2
2013.03.30
DATAGURU专业数据分析网站 初建军
2
学习资料
1./ / 2. 3.<<Kettle Cook Book>> 4.<<Pentaho 3.2 Data Integration Beginner’s Guide>> 5.<<Kettle Solution>> 6.Kettle 代码 本课程使用的 Kettle 版本: 1.Kettle 4.4 下载地址:/ 2.傲飞数据整合平台 1.0.4,下载地址:
Kettle 的优点:
•Kettle 的易用性比 Informatica 好,需要的培训要少很多。 •Kettle 不需要像 Informatica 那样大的前期投入。 •Kettle 的插件架构支持快速定制开发
Informatica 的优点:
•Informatica 的错误报告功能比 Kettle 更友好,更容易定位错误。 Kettle 通常只把异常抛出,需要实施人员有更丰富的经验。 •Informatica 比 Kettle 有更好的监控工具和负载均衡等企业级应用 功能,更适合大规模的ETL 应用。。
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle背景知识– ETL 商业软件
Informatica
IBM DataStage
Microsoft SSIS Oracle ODI
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle背景知识– ETL 开源软件
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle 介绍 – 对比
Kettle vs Talend
测试用例: 读取一个2.4GB 大小的 csv 文件,文件包含 25,000,000 条记录。
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle 介绍 – 对比
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle背景知识– ETL在BI中的作用
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle背景知识– ETL 实现方式
• 手工编码,编写脚本,Java,Python • 商业ETL 工具软件 • 开源ETL 工具软件
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle 介绍 – 对比
Kettle vs Informatica
相似点:
•Pentaho 和 Informatica 都提供了大量的转换步骤、脚本功能,都 可以处理复杂的ETL 转换。 •通常情况下 Informatica 比 Kettle 更快。Informatica 有下推优化, 缓存查询等提高性能的手段。但是如果你对 Kettle 和数据库有足够 的了解,做一些调整,你可以提高 Kettle 的速度,在一些情况下可 以达到甚至超过 Informatica 的速度。
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle 介绍 – 输入步骤简介
输入类步骤用来从外部获取数据,可以获取数 据的数据源包括,文本文件(txt,csv,xml, json)数据库、 Excel 文件等桌面文件,自定 义的数据等。对特殊数据源和应用需求可以自 定义输入插件。 例子:生成随机数步骤
转换(Transform):任何对数据的处理过程都是转换。这些处理过程通常包 括(但不限于)下面一些操作: 移动数据 根据规则验证数据 数据内容和数据结构的修改 将多个数据源的数据集成 根据处理后的数据计算派生值和聚集值 加载(Load):将数据加载到目标系统的所有操作。
概念扩展:ELT,EII(Enterprise information integration)/Data federation
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle 特点
流程式设计 方便易用 全面优化 高效稳定 全面的数据 访问支持
插件架构 扩展性好 多种方式 应用集成
商业/社区 支持 支持 多平台
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle 介绍 – 对比
2013.03.30
DATAGURU专业数据分析网站 初建军
3
Kettle 介绍 – 课程内容
• 背景知识:ETL • Kettle 介绍、应用情况、对比 • Kettle 基本使用
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle 背景知识 – ETL
抽取(Extract):一般抽取过程需要连接到不同的数据源,以便为随后的步 骤提供数据。这一部分看上去简单而琐碎,实际上它是 ETL 解决方案的成 功实施的一个主要障碍。
DATAGURU专业数据分析网站 初建军
Kettle 介绍 – Kettle 基本使用
Kettle 的几个子程序的功能和启动方式 Spoon.bat: 图形界面方式启动作业和转换设计器。 Pan.bat: 命令行方式执行转换。 Kitchen.bat: 命令行方式执行作业。 Carte.bat: 启动web服务,用于 Kettle 的远程运行或 集群运行。 Encr.bat: 密码加密
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle 介绍 – Kettle 基本使用
保存作业
用户通过 Spoon 创建的转换、作业、数据库连接等可 以保存在资源库和 XML 文件中。 • 转换文件以 ktr 为扩展名,作业文件以 kjb 为扩展名 •资源库可以是各种常见的数据库。可以在 Spoon 中 自动创建资源库,资源库默认用户名和密码是 admin/admin。
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle 介绍 – 基本使用
转换和作业
Kettle 的 Spoon 设计器用来设计转换(Transformation) 和 作业(Job)。 •转换主要是针对数据的各种处理,一个转换里可以包 含多个步骤(Step)。 •作业是比转换更高一级的处理流程,一个作业里包括 多个作业项(Job Entry),一个作业项代表了一项工 作,转换也是一个作业项。
Kettle 介绍 – 名称
Kettle : Kettle is an acronym for “Kettle E.T.T.L. Environment”. This means it has been designed to help you with your ETTL needs: the Extraction, Transformation, Transportation and Loading of data.
target file to
Source file: /customers-25M.txt Size file 2.614.561.970 bytes Nr of rows in file 25.000.001 with one header row
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle 历史
2006年 Kettle 2.2, Kettle 2.3 (Kettle 开源,License 为 LGPL) 2007年 Kettle 2.4, Kettle 2.5(被Pentaho 公司收购,更名为 PDI) 2008年 Kettle 3.0 ,Kettle 3.1 2009年 Kettle 3.2 (一个使用时间较长的稳定版本) 2010年 Kettle 4.0 ,Kettle 4.1 2011年 Kettle 4.2 2012年 Kettle 4.3 ,Kettle 4.4 (License 变更为 Apache 2,支持大数据) 2013年 Kettle 5.0
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle 介绍 – 国内应用
公安部
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle 介绍 – 课程内容
• 背景知识:ETL • Kettle 介绍、特点、应用情况 • Kettle 基本使用
2013.03.30
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle 介绍 – 转换步骤简介
转换类步骤是对数据进行各种形式转换所用到 的步骤。 例子: 字段选择 计算器 增加常量
Kettle
Talend
CloverETL Ketl,Octopus …
2013.03.30
DATAGURU专业数据分析网站 初建军
Kettle 介绍 – 课程内容
• 背景知识:ETL • Kettle 介绍、应用情况、对比 • Kettle 基本使用
2013.03.30
DATAGURU专业数据分析网站 初建军
相关文档
最新文档