BI商业智能:Kettle培训文档
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
订单ID
产品ID 购买时间 产品名称
Kettle使用-作业
说明:
USER表存放客户信息,PRODUCT表存放产品信息, ORDER表存放订单信息 一个客户对应多个订单,一个产品对应多个订单 ORDER_ALL表存放结果数据,需要从相关的表中获 取到字段中的信息,获取不到的信息可以通过相关处 理或添加默认值的方式写入。
Kettle使用-作业
准备以上数据库表
Kettle使用-作业-建立过程
按键盘Ctrl+N新建一个转换,取名为Order.ktr
Kettle使用-作业-建立过程
双击DB连接,建立MYSQL连接并测试成功
Kettle使用-作业-建立过程
切换到核心对象,拖动表输入到设计区域
Kettle使用-作业-建立过程
功能说明
引用Transformation流程 引用Job流程 调用Shell脚本 执行sql语句 通过FTP下载 检查目标表是否存在,返回布尔值 检查文件是否存在,返回布尔值 执行JavaScript脚本 创建文件 删除文件 等待文件,文件出现后继续下一个环节 文件比较,返回布尔值 等待时间,设定一段时间,kettle流程处于等待状态 压缩文件为ZIP包
Kettle使用-transformation
每一个环节可以通过鼠标拖动来将环节添加到主 窗口中。 并可通过shift+鼠标拖动,实现环节之间的连接。
Kettle使用-Transformation
环节名称 文本文件输入 表输入 获取系统信息 Output 文本文件输出 表输出 插入/更新 更新 删除 Lookup 数据库查询 流查询 调用DB存储过程 Transfo 字段选择 rm 过滤记录 排序记录 空操作 增加常量 Scripti ng Modified Value Java
再拖动一个字段选择到设计区域并设置各项属性
Kettle使用-作业-建立过程
再拖动一个表输出到设计区域并设置各项属性和连接
Kettle使用-作业-建立过程
运行并查看数据表order_all
Kettle使用-作业-建立过程
最后在建立一个Job,把2个ktr连接起来
Kettle使用-作业-建立过程
苏州百咨信息技术有限公司
http://www.bisolutions.cn
Kettle使用培训文档
什么是ETL&Kettle?
ETL(Extract-Transform-Load的缩写,即数据抽 取、转换、装载的过程), ETL负责将分布的、异 构数据源中的数据如关系数据、平面数据文件等抽 取到临时中间层后进行清洗、转换、集成,最后加 载到数据仓库或数据集市中,成为联机分析处理、 数据挖掘的基础。 Kettle是一款国外开源的etl工具,纯java编写,绿 色无需安装,数据抽取高效稳定。Kettle中有两种 脚本文件,transformation和job, transformation完成针对数据的基础转换,job则 完成整个工作流的控制。
Mappin 映射(子转换) g
Job Sat Variables Get Variables
数据映射
设置环境变量 获取环境变量
Job菜单介绍
Job菜单介绍
主对象树菜单列出的是一个Job中 基本的属性,可以通过各个节点来 查看。
DB连接:显示当前Job中的数据库连 接,每一个Job的数据库连接都需要单 独配置。 作业项目:一个Job中引用的环节列表
运行Job和单独运行2个ktr效果一样
Kettle使用-作业-建立过程
再来看看order_all数据表里插入的数据
Kettle使用-作业-建立过程
苏州百咨信息技术有限公司 http://www.bisolutions.cn
1,提交对应的Kettle文件 2,Kettle流程可以正确执行,不报错 3,对应的数据文件生成并格式无误,对应表中有数据并格式 无误 4 ,通过数据清洗抓取有用数据,作为以后分析的数据基础
Kettle使用-作业
说明:
数据库中存在四张表:
表名 USER 字段名 userid username usernsex userposition userage PRODUCT ORDER productid productname orderid userid productid buytime 客户ID 客户姓名 客户性别 客户职位 客户年龄 产品ID 产品名称 订单ID 用户ID 产品ID 购买时间 和USER.userid对应 和PRODUCT.productid对应 说明 关系
然后我们查看E:\pentaho\Kettle Demo\file.txt.代表已经 把查询的数据输出在了txt文件里面,这个Ktr就 顺利完成了
Kettle使用-作业-建立过程
接下来我们把生成的txt文件里的字段值再输入到数据库中 拖动一个文本文件输入到设计区域,并设置各项属性
Kettle使用-作业-建立过程
类别 Input
功能说明 从本地文本文件输入数据 从数据库表中输入数据 读取系统信息输入数据 将处理结果输出到文本文件 将处理结果输出到数据库表 根据处理结果对数据库表机型插入更新,如果数据库中不存在相关记录 则插入,否则为更新。会根据查询条件中字段进行判断 根据处理结果对数据库进行更新,若需要更新的数据在数据库表中无记 录,则会报错停止 根据处理结果对数据库记录进行删除,若需要删除的数据在数据库表中 无记录,则会报错停止 根据设定的查询条件,对目标表进行查询,返回需要的结果字段 将目标表读取到内存,通过查询条件对内存中数据集进行查询 调用数据库存储过程 选择需要的字段,过滤掉不要的字段,也可做数据库字段对应 根据条件对记录进行分类 将数据根据某以条件,进行排序 无操作 增加需要的常量字段 Script 扩展功能,编写JavaScript脚本,对数据进行相应处理
Kettle使用-ETL&Kettle
Kettle的下载&部署
ຫໍສະໝຸດ Baidu
Kettle可以在开源网站 http://sourceforge.net/projects/pentaho/fi les/进行下载
下载kettle压缩包,因kettle为绿色软件,解压 缩到任意本地路径即可
Kettle使用-下载&部署
Kettle使用-Job
Transformation&Job实例
案例背景:
作业: 成果:
找出不同性别,不同年龄,不同职业的用户对于哪类产品比较 感兴趣,为建立数据仓库,进行数据挖掘和OLAP分析做准备。
根据客户,订单,产品表中的数据,生成对应的数据文件,将 数据文件可以导入到对应表中,并且可以用job来调用整个流 程。
Kettle使用-作业
说明:
表名 ORDER_ALL 字段名 order_id userid username usersex userposition userage ID 客户ID 客户名 客户性别 客户职业 客户年龄 说明 关系
orderid
productid buytime productname
Kettle使用-transformation
Transformation菜单介绍
核心对象菜单列出的是 transformation中可以调用的环节列 表,可以通过鼠标拖动的方式对环 节进行添加。
常用环节介绍 输入:输入环节 输出:输出环节 查询:查询环节 转换:转化环节 连接:连接环节 脚本:脚本环节 数据仓库:数据仓库环节
Kettle使用-ktr&kjb
Kettle使用-新建Ktr
Kettle使用-新建Kjb
Transformation控件介绍
Transformation菜单介绍
主对象树菜单列出的是一个 transformation中基本的属性,可以 通过各个节点来查看。
DB连接:显示当前transformation中的 数据库连接,每一个transformation的 数据库连接都需要单独配置。 Steps:一个transformation中应用到的 环节列表 Hops:一个transformation中应用到的 节点连接列表
双击表输入控件设置表输入各项属性
Kettle使用-作业-建立过程
再拖动一个表输入到设计区域并设置各项属性
Kettle使用-作业-建立过程
拖动一个流查询到设计区域
Kettle使用-作业-建立过程
设置流查询各项属性并连接2个表输入
Kettle使用-作业-建立过程
再拖动一个表输入到设计区域并设置各项属性
Kettle使用-作业-建立过程
拖动一个流查询到设计区域并设置流查询各项属性
Kettle使用-作业-建立过程
再拖动一个文本输出到设计区域并设置输出属性
Kettle使用-作业-建立过程
点击
运行ktr
Kettle使用-作业-建立过程
如果出现以下界面,就代表运行成功了
Kettle使用-作业-建立过程
Kettle使用-菜单介绍
新建一个转换&工作
点击页面左上角的 可以创建一个新的转换 (transformation),点击 保存到本地路径, 例如保存到D:/ etltest下,保存文件名为 EtltestTrans,kettle默认transformation文 件保存后后缀名为ktr
点击页面左上角的 创建一个新的工作 (job),点击 保存到本地路径,例如保存到 D:/etltest下,保存文件名为EtltestJob, kettle默认job文件保存后后缀名为kjb
Kettle使用-Job
菜单介绍
核心对象菜单列出的是Job中 可以调用的环节列表,可以 通过鼠标拖动的方式对环节 进行添加。
每一个环节可以通过鼠标拖 动来将环节添加到主窗口中。 并可通过shift+鼠标拖动,实 现环节之间的连接。
Kettle使用-Job
类别 Job entries
环节名称 START DUMMY Transformatio n Job Shell SQL FTP Table exists File exists Javascript Create file Delete file Wait for file File Compare Wait for Zip file 开始 结束
Kettle的运行
点击data-integration-3.2文件夹进入到Kettle 目录,如果Kettle部署在windows环境下,双击 运行 可执行文件,出现如下界面
菜单区
控件区
设计区
Kettle使用-运行
Kettle菜单介绍
文件:新建Ktr,Kjb,保存,打开,打印等 编辑:设置环境变量,操作的重做和撤销等 视图:可以放大或缩小设计区控件的大小 资源库:可以连接和断开资源库 转换:可以对转换进行运行、调试、预览 作业:可以对作业进行运行、预览 向导:可以对创建数据库、复制拷贝进行向导 帮助:进行帮助相关操作