Kettle:一款数据仓库ETL神器
这次给大家先容一个企业数据仓库中常用的开源 ETL 工具:Kettle。https://i-blog.csdnimg.cn/direct/b2f46da7559f4794884943953441fdf1.gif#pic_center
Kettle 又名 Pentaho Data Integration,它是基于 Java 的开源数据集成平台,提供了图形化拖拽的方式设计数据抽取、转换和加载(ETL)过程。
Kettle 通常用于数据仓库、数据迁徙、数据同步等应用场景,帮助用户从各种数据源中抽取数据,进行清洗和转换,然后加载到目标数据仓库或数据集市,支持后续的数据分析和机器学习。
下载安装
Pentaho Data Integration 提供了企业版和开发版(社区版),我们利用开发版。
方法一
百度网盘:https://pan.baidu.com/s/1SS4PQj8JQykKUJpEYE1xWA?pwd=2bm1
下载后直接解压 pdi-ce-10.2.0.0-222.zip 文件即可。
方法二
打开官方网站下载地址:https://pentaho.com/pentaho-developer-edition/
https://i-blog.csdnimg.cn/direct/87deea7a79a9449a901e3764503cb0df.png
输入相干信息之后点击“DownloadNow”按钮,可能出现以下错误信息:
Could not verify the reCaptcha response.
这是因为它利用了 Google 的 reCaptcha 验证码服务,国内无法访问。解决办法就是安装一个欣赏器插件 Gooreplacer,然后增长一个重定向配置规则。
匹配模式:www.google.com/recaptcha
目标地址:recaptcha.net/recaptcha
https://i-blog.csdnimg.cn/direct/ce8b121c8843472e8f10bc3e9b7018ea.png
然后刷新下载页面,通过人机身份验证,同意利用协议后可以看到一个下载列表:
https://i-blog.csdnimg.cn/direct/f5d5306bf43c42df92e15a788adfa8ef.png
选择客户端工具 pdi-ce-xxx.zip 进行下载,下载后直接解压 zip 文件即可。
简朴利用
Kettle 基于 Java 开发,支持 Windows、Linux 以及 macOS 多种利用系统,我们必要提前安装 Java 运行环境,在命令行中输入“java -version”验证安装版本:
PS C:\Users\bell-> java -version
java version "22.0.2" 2024-07-16
Java(TM) SE Runtime Environment (build 22.0.2+9-70)
Java HotSpot(TM) 64-Bit Server VM (build 22.0.2+9-70, mixed mode, sharing)
Kettle 安装包中提供了多个组件,其中主要的 4 个组件如下:
[*]SPOON(Spoon.bat 大概 spoon.sh),提供图形界面来设计 ETL 使命,最常利用。
[*]KITCHEN(Kitchen.bat 大概 kitchen.sh),通过命令行方式调用 SPOON 设计的作业(Job);
[*]PAN(Pan.bat 大概 pan.sh),通过命令行方式调用 SPOON 设计的转换(Transformation);
[*]CARTE(Carte.bat 大概 carte.sh),一个 Web 服务,用于长途实行 ETL 使命。
https://i-blog.csdnimg.cn/direct/a2f807de94ec44dd8283c26a6c9aa355.png
下面我们先容一个 SPOON 利用案例,读取数据库中的表,写入 Excel 文件。
起首,点击 Spoon.bat(Windows)大概 spoon.sh(Linux)大概 spoon.command(macOS)脚本运行 SPOON:
https://i-blog.csdnimg.cn/direct/b59c3f81f6014c7ab97f8d3a74faacf8.png
默认打开的是接待页面。
Kettle 工作流中的对象可以分为两类:转换(Transformation)和作业(Job)。
转换用于界说各种数据处理利用,可以包罗多个步骤(Step),这些步骤通过跳跃(Hop)的方式连接,共同完成对数据的输入、转换处理和输出等工作。
https://i-blog.csdnimg.cn/direct/40c1e8953fe44162976093b9e81b903b.png#pic_center
转换以并行方式实行,全部步骤同时启动,从输入跳中读取数据行,然后把处理过的数据写到输出跳;直到输入跳里不再有数据流,步骤的运行才会停止。当全部的步骤都停止了,整个转换也就完成了。
作业用于界说一个完成整个工作流的控制,可以包罗多个作业项(Job Entry),作业项可以是转换、邮件发送、数据库连接等利用。这些作业项以某种序次实行,共同完成一个复杂的使命。
https://i-blog.csdnimg.cn/direct/26beaf1367474ed7b93e0413dbded0f9.png#pic_center
作业以串行方式实行,作业项的实行序次由作业项之间的跳跃和每个作业项的实行效果来决定。作业项之间不是通过数据流来传递数据,而是通过效果对象(Result Object)来传递。这个效果对象包罗了数据行等信息,但不是以数据流的方式传递的,而是等待一个作业项实行完了,再传递给下一个作业项。
我们点击“文件”->“新建”-“转换”,新建一个转换。
然后在左侧“焦点对象”中点击“输入”列表中的“表输入”对象,拖拽到页面中心。
https://i-blog.csdnimg.cn/direct/0b5d7cc9415d4df29b2c709e90d3ae48.png
为了读取数据库中的表,我们必要建立一个数据库连接。点击“文件”->“新建”->“数据库”,打开数据库配置页面。
https://i-blog.csdnimg.cn/direct/65c6c460711f4068b54358c166da9b0a.png
选择数据库范例和连接方式,输入主机名称、数据库名称、端口号、用户名以及密码,点击“测试”按钮确认可以或许乐成连接数据库。
如果提示找不到数据库驱动(Driver class xxx could not be found),必要下载对应数据库的 JDBC 驱动,存储到 Kettle 安装目次下的 lib 子目次中。
创建数据库连接对象之后,双击“表输入”对象,选择“数据库连接”,手动输入 SQL 查询大概通过“获取SQL查询语句”按钮生成查询。
https://i-blog.csdnimg.cn/direct/49fd382eff64418f9746fb66f3520a2d.png
此时,点击“预览”可以查看读取的数据示例。
https://i-blog.csdnimg.cn/direct/d9d5e04486ed4daa80b30c74085afe97.png
点击“确认”按钮保存设置。
接下来在左侧“焦点对象”中点击“输出”列表中的“Microsoft Excel writer”对象,拖拽到页面中心。然后将鼠标放在“表输入”对象上,在页面会显示一些针对这个对象的利用,其中有一个向右的箭头,点击可以将其连接到“Microsoft Excel writer”对象,也就是建立两个步骤之间的跳跃。
https://i-blog.csdnimg.cn/direct/5754dda7dc574eac8526e413ae64e907.png
双击“Microsoft Excel writer”对象进行文件配置,输入包罗路径的文件名和扩展名。
https://i-blog.csdnimg.cn/direct/b36a757473e74662a4c3aabe8b263a8d.png
也可以根据必要设置其他内容,包容文件名增长日期时间信息、设置工作表(Worksheet)、利用模板文件以及字段格式等内容。点击“确认”按钮保存设置。
点击“F9”大概“运行”按钮实行这个转换利用,页面下方的日记显示了实行信息,Preview data 可以预览每个步骤输出的数据。
https://i-blog.csdnimg.cn/direct/435eae7a935b4437b1f41838b298890f.png
实行完成之后,打开输出的 Excel 文件可以看到导出的数据。
https://i-blog.csdnimg.cn/direct/e20527326b694a2f8aa7a7d3cea666ff.png
至此,我们完成了一个简朴的转换,从数据库中读取数据并写入 Excel 文件。
后续我们再分享更多案例。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]