免费开源ETL工具KETTLE
1.ETL概念
ETL:Extract-Transform-Load的缩写,即数据抽取、转换、装载
的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。
ETL是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
Kettle (正式名:Pentaho Data Integration)是一款基于JAVA开发的开源ETL工具,有易于入手的图形界面,图形化的GUI设计界面,然后可以以工作流的形式流转,熟练它可以减少非常多的研发工作量,提高工作效率。是除了商业版的DataStage之外最好的工具
Kettle 允许你管理来自不同来源的数据,包括不同数据库、excel/csv等文件、邮件、网站源码抓取等等,除数据的抽取转换,还支持文件操作、收发邮件、通过提供一个图形化的界面来创建、设计转换(Trans)和工作流(Jobs)任务。
Kettle中有两种脚本文件,transformation
和 job
.
Transformation(转换)
完成针对数据的基础转换,下文缩写为TransJob(作业)
则完成整个工作流的控制。作业则是一系列转换的集合,实现了较为复杂的逻辑。
Kettle家族:Spoon、Pan、Kitchen。
- Spoon 图形界面:设计 ETL 转换过程(Transformation)和工作流(Jobs)。
- Pan 后台批处理:允许你批量运行由 Spoon 设计的 ETL 转换 (Trans)。。
- Kitchen 后台批处理:允许你批量运行由 Spoon 设计的 ETL工作流 (Jobs)
2.安装使用
安装 :Kettle学习系列之kettle的下载、安装和初步使用(windows平台下)
使用: Kettle入门教程
3. 实战使用
3.1新建一个Trans(转换)
转换是Kettle最基本的任务,定义了数据如何转换。新建转换的快捷键是ctrl-N
, 界面左侧是对象区,这里可以选择各种组件用于完成一次转换,右侧是工作区,只需要将组件拖拽到右侧即可。
本次只会演示MySQL到文本的转换,因此只需要输入-表输入
,转换-字段选择
和输出-文本文件输出
这三个组件即可完成工作。
选择一个组件,按住shift,将鼠标拖拽到目标组件即可完成指向。
每个组件都需要设置,双击该组件就能打开编辑对话框
- 编辑表输入
- 编辑字段选择
使用字段选择可以让表输入和表输出解耦合
- 编辑文本输出
- 执行转换
3.2新建一个job作业
作业是一个逻辑集合,里面包含了转换和其他的一些组件
3.3抽取变量
任何转换,作业都要拿到现场去执行,但是刚才的操作中很多时候写的是具体的IP,路径等等,这些在不同的现场环境下是不同的,如果能抽取出来,则是最好的选择。
只需要把这些参数写在Kettle的配置文件(kettle.properties
)下面就可以,在Windows下,这个文件存在于用户目录的.kettle文件夹下
,在Linux系统下,这个文件在用户的home目录下的.kettle目录下。
3.4数据库连接共享
之前的步骤中会新建数据库连接,但是这些连接是某一个Trans独享的,每次新建一个Trans都需要重新建立连接,这是一个很麻烦的操作,但是Kettle提供了一个叫做共享的功能,可以将数据库连接共享出来。
在“主对象树-DB连接”下,选择想要共享的连接,点击右键,选择共享
即可完成操作。共享的数据库连接会以加粗字体显示:
数据库连接实际上也是保存在文件中的,同样在.kettle
下,有一个shared.xml
文件,保存了已经共享的DB连接的信息。
3.5部署
刚才看到,新建的Trans和Job都是独立的文件。这些文件在现场直接执行即可:
- 将Kettle的程序包部署在现场的ETL机器上,将pan,kitchen所在目录写入PATH变量;
- 配置.kettle目录下的
配置文件
和shared.xml
文件; - 将预先配置好的
trans和job文件
放在ETL机器的指定目录上; - 运行kitchen命令运行Job。
- 下面是一个kitchen命令的示例:
kitchen.sh -file=/path/demo.kjb -level-Minimal
免费开源ETL工具KETTLE相关推荐
- 开源ETL工具kettle系列
开源ETL工具kettle系列之常见问题 摘要:本文主要介绍使用kettle设计一些ETL任务时一些常见问题,这些问题大部分都不在官方FAQ上,你可以在kettle的论坛上找到一些问题的答案 1. J ...
- 开源ETL工具kettle系列之常见问题
摘要:本文主要介绍使用kettle设计一些ETL任务时一些常见问题,这些问题大部分都不在官方FAQ上,你可以在kettle的论坛上找到一些问题的答案 1. Join 我得到A 数据流(不管是基于文件或 ...
- 可视化开源ETL工具——kettle
1 简介 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,绿色无需安装,数据抽取高效稳定. Kettle 中文名称叫水壶,该项目的主程序员MAT ...
- ETL工具Kettle的下载和使用
Kettle 是什么 Kettle最早是一个开源.免费的ETL工具.在2006年,Pentaho公司收购了Kettle项目,从此,Kettle成为企业级数据集成及商业智能套件Pentaho的主要组成部 ...
- 四十二、ETL工具Kettle的转换步骤
1. ETL工具Kettle的转换步骤 1.1 Kettle转换步骤的具体内容: 字符串处理 字符串的拆分 字符串的替换 行列变换 其他转换步骤 闭合距离 XSL转换 数值范围 2 字符串的处理 2. ...
- 四十一、ETL工具kettle输出步骤
1. ETL工具Kettle的输出步骤 Kettle输入步骤主要分为以下几类: 数据库输出 表输出 更新.删除.插入和更新 文件输出 文本文件输出 XML输出 Excel文件输出 其他 报表和应用 2 ...
- ETL工具KETTLE常用设计之——作业设计思路模板
目录 01:检查数据库连接: 02:设置环境变量: 03:设计各自数据流程转换: 04:邮件通知: ETL工具KETTLE用来设计数据流程,无论什么逻辑的数据流程,一般都有一个通用的设计模板流程,在这 ...
- ETL工具Kettle简介和安装配置基本使用
什么是Kettle Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,绿色无需安装,数据抽取高效稳定. Kettle 中文名称叫水壶,该项目的主程 ...
- 三十九、ETL工具Kettle基础使用
1. Kettle工具介绍 Kettle是一款国外开源的ETL工具,纯Java编写,开业在Windows.Linux.Unix上运行,可以高效稳定的完成数据抽取. Kettle中文名叫水壶,该项目的主 ...
最新文章
- switch的case使用数组C语言,使用常量数组的元素作为switch语句中的case
- python二维数据读取对齐_从投影的二维直方图绘制对齐的x,y一维直方图
- [别被脱库]—数据库的初恋~
- SAP 电商云 Spartacus UI 同 SAP Customer Data Cloud 的集成
- 语义分割未来发展如何?
- 【做题】CSA49F - Card Collecting Game——思维dp
- oc语言学习之基础知识点介绍(三):类方法、封装以及继承的介绍
- 关于LibFetion(小飞信)被禁止登陆的思考
- 51单片机实现拼音输入法
- 全日制大专计算机专业一天几节课,大学一节课多长时间 一天上几节
- php如何替换ico图标,wordpress网站怎么设置更换站点favicon ico图标
- python操作selenium
- php+chmod+r,从今往后,谁再告诉你Linux上chmod -R 777解决权限,果断绝交
- php font 字体加粗,字体加粗(font-weight)
- 实验题7.1 实现二分查找的算法
- 网站服务器端口扫描,服务器端口扫描工具
- 自己定义微信图文模板注意事项整理
- 学习国家颁布的三部信息安全领域法律,理解当前工作中的信息安全合规要求
- Quora如何在快速开发中保持高品质代码
- 一篇文章读懂摄像头帧率、码流、分辨率的关系
热门文章
- 二、对HEVC/H.265视频编解码器进行隐写的基本思路
- vue导出excel加一个进度条_vue项目中如何把数据导出成excel文件
- 一招教你自制“切屏”摸鱼神器
- 决策树C4.5算法 c语言实现,数据挖掘十大经典算法(1) C4.5_决策树算法
- 雷达的工作原理示意图_雷达的工作原理是什么?
- c# winfrom 图片按钮点击过后有黑框框
- ubuntu磁盘io性能测试工具hdparm
- 荟研新材料 毕克BYK024 毕克BYK028 有机硅消泡剂 丙烯酸酯 聚氨酯 水性印刷油墨 罩光清漆 水性UV体系消泡剂
- 类似 毕克BYK346 有机硅基材润湿剂 上海荟研 水性木器漆,水性工业漆 油墨体系 光固化体系
- excel一列数据中每个数重复固定次数