好久没有发布文章了,就用最近工作常用的kettle工具做为素材写一下随笔,方便以后碰到相同的问题快速解决。
kettle的简介我就不介绍了,大家随便百度一下就可以查到,
主要作用就是用于从一个或多个数据源中提取数据,对数据进行转换和清洗(这个过程就是ETL),然后加载到目标数据存储中,以支持数据分析、报表生成、业务决策等需求。
1.1 Kettle使用的优点:
1、Kettle提供了直观的图形化界面。
2、Kettle可以满足大部分数据处理需求,包括数据格式转换、数据过滤、数据合并、数据计算等。
3、Kettle支持多种数据源和目标,包括关系型数据库、文件、API、Hadoop等,可以方便地集成不同类型的数据。
注意:kettle安装之前需要安装java的jdk,否则有可能闪退
此处附上jdk安装:https://blog.csdn.net/qq_48052049/article/details/126766806
1.2 下载安装
链接: https://www.hitachivantara.com/en-us/products/pentaho-plus-platform/data-integration-analytics/pentaho-community-edition.html
往下划,找到pdi
windows点以下文件运行
(linux点spoon.sh运行)
1.3 【Spoon.bat 双击后闪退】解决办法
1、检查jdk和系统变量是否配置正确:cmd下java、javac、iava-version 三个命令都能执行说明没问题;
2、修改spoon.bat里内存配置,这也是能百度到的大多数答案,比如:https://www.cnblogs.com/espookv/p/6007326.html
大多数人到这一步应该就可以了,但是我的还是不行!
3、增加系统变量:kettle_home 变量值为kettle文件位置:D:\install\kettle\data-integration 仍然不起作用
4、更换idk版本,kettle-8.2我把idk换成了1.8:仍然不起作用:
5、增加系统变量:PENTAHO_JAVA_HOME 变量值为idk下的jre录:D:\install\java8\jre
可以按1-2-5-3-4的顺序进行排查!
打开界面
1.4 数据库配置
1.打开Kettle,创建新的工作空间
2.在工作空间中,右击“数据库连接”,选择“新建数据库连接”
3.填写连接信息,包括数据库类型、主机名、端口号、数据库名、用户名和密码等,然后点击“测试连接”按钮进行连接验证
4.连接验证通过后,点击“保存”按钮保存连接信息
1.5 EXCEL 输入
双击打开,需要操作的部分红框标出
1.6 表关联注意事项
1.6.1 表关联之前排序
在两张表关联之前需要对数据进行排序,关联什么字段就用什么字段排序,并且关联的字段在排序中也需要出现否则关联结果会出现差异
1.6.2 关联维度表
1.6.3 数据同步并标记删除旧数据
如果需要对数据进行同步最好使用以下2方法,1方法同数据可能会出现数据多数据的情况
1.6.4 多张表数据关联一个同一张表
这种情况下步骤之间的分割线有两种模式一种是复制,一种是分发。多数情况下我们需要选择复制就行