共计 1874 个字符,预计需要花费 5 分钟才能阅读完成。
Kettle 简介
ETL(Extract-Transform-Load 的缩写,即 数据抽取、转换、装载 的过程),对于数据开发人员来说,咱们常常会遇到各种数据的解决,转换,迁徙,所以理解并把握一种 ETL 工具的应用,必不可少,这里咱们要学习的 ETL 工具就是 Kettle。
Kettle 是什么
Kettle 是一款国外开源的 ETL 工具,对商业用户也没有限度,纯 Java 编写,能够在 Window、Linux、Unix 上运行,绿色无需装置,数据抽取高效稳固。Kettle 中文名称叫水壶,它容许治理来自不同数据库的数据,把各种 数据 放到一个壶里,而后以一种 指定的格局 流出。Kettle 中有两种脚本文件,Transformation 和 Job,Transformation 实现针对数据的根底转换,Job 则实现整个工作流的管制。通过图形界面设计实现做什么业务,并在 Job 下的 start 模块,有一个定时性能,能够每日,每周等形式进行定时。
Kettle 的外围组件
名称 | 性能 |
---|---|
Spoon | 通过图形接口,容许你通过图形界面来设计 ETL 转换过程(Transformation) |
Pan | 运行转换的命令行工具 |
Kitchen | 运行作业的命令行工具 |
Carte | Carte 是一个轻量级别的 Web 容器,用于建设专用、近程的 ETL Server |
- 作业和转换能够在图形界面里执行,但这只适宜在开发、测试和调试阶段。在开发实现后,须要部署到生产环境中 Spoon 就很少用到了,Kitchen 和 Pan 命令行工具用于理论的生产环境。
- 部署生产阶段个别须要通过命令行执行,须要把命令行放到 Shell 脚本中,并定时调度这个脚本。
- Kitchen 和 Pan 工具是 Kettle 的命令行执行程序,只是在 Kettle 执行引擎上的封装,它们只是解释命令行参数,调用并把这些参数传递给 Kettle 引擎。
- Kitchen 和 Pan 在概念和用法上都十分相近,这两个命令的参数也根本是一样的。惟一不同的是 Kitchen 用于执行作业,Pan 用于执行转换。
Kettle 概念模型
Kettle 的执行分为两个档次:Job(作业,.kjb 后缀)和 Transformation(转换,.ktr 后缀)
简略地说,一个转换就是一个 ETL 的过程,而作业则是多个转换、作业的汇合,在作业中能够对转换或作业进行调度、定时工作等。
在理论过程中,写的流程不能很简单,当数据抽取须要多步骤时,须要分成多个转换,在集成到一个作业里程序摆放,而后执行即可。
目录文件性能阐明
下载及装置
官网各个版本下载地址:https://sourceforge.net/projects/pentaho/files/Data%20Integration/
国内 Kettle 论坛网:https://www.kettle.net.cn/
Kettle 是纯 Java 编程的开源软件,须要装置 JDK,并配置环境变量,解压后间接应用无需装置。
需筹备的其余货色:数据库驱动,如将驱动放在 Kettle 根目录的 bin 文件夹上面即可。
关上 Kettle 只须要运行 Spoon.bat (win)/ spoon.sh (Linux / macOS),即可关上 Spoon 图形工具。
启动 Kettle
如下图,执行 ./spoon.sh
命令
欢送页面
HelloWorld
把数据从 CSV 文件复制到 Excel 文件
CSV 文件输出
将「CSV 文件输出」拖拽到右侧的工作区,双击进行编辑,浏览抉择筹备好的测试文件,点击「获取字段」主动获取 CSV 文件中表头信息,输出配置实现,下一步进行输入配置。
Excel 输入
将「Excel 输入」拖拽到右侧的工作区,双击进行编辑,这步比较简单,浏览抉择输入目录和设置文件名,实现配置。
转换文件
按住 shift + 鼠标左键能够建设连贯,保留转换配置
运行转换
查看后果
总结
初步理解 Kettle 外围组件及其应用
- 作业和转换能够在图形界面里执行,但这只适宜在开发、测试和调试阶段。在开发实现后,须要部署到生产环境中 Spoon 就很少用到了,Kitchen 和 Pan 命令行工具用于理论的生产环境。
- 部署生产阶段个别须要通过命令行执行,须要把命令行放到 Shell 脚本中,并定时调度这个脚本。
- Kitchen 和 Pan 工具是 Kettle 的命令行执行程序,只是在 Kettle 执行引擎上的封装,它们只是解释命令行参数,调用并把这些参数传递给 Kettle 引擎。
- Kitchen 和 Pan 在概念和用法上都十分相近,这两个命令的参数也根本是一样的。惟一不同的是 Kitchen 用于执行作业,Pan 用于执行转换。
分步操作一个 HelloWrold 过程
欢送关注公众号:HelloTech,获取更多内容