kettle工具使用从入门到精通(一)
安装
可以从链接: 官网(下载链接在Pentaho.pdf文件里)或者网络上查找对应的版本安装
Kettle (PDI) 版本与 JDK 版本对应关系
| Kettle (PDI) 版本 | 支持的 JDK 版本 | 备注 |
|---|---|---|
| PDI 9.x 及以上 | JDK 11 或更高版本 | 推荐使用 OpenJDK 或 Oracle JDK 11。 |
| PDI 8.x | JDK 8 或 JDK 11 | 推荐使用 JDK 8 以获得最佳兼容性。 |
| PDI 7.x | JDK 8 | 不支持 JDK 11 或更高版本。 |
| PDI 6.x 及更早版本 | JDK 7 或 JDK 8 | 不支持 JDK 11 或更高版本。 |
可以通过以下命令检查当前 JDK 版本:
java -version
软件说明
Kettle是一款国外开源的ETL(即数据抽取、转换、装载)工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

特点

问题解决
解压后打开E:\tools\kettle\pdi-ce-8.2.0.0-342\data-integration\Spoon.bat出现该弹窗表示对应的版本没对应上
安装完成后,新建一个转换,测试数据库连接
可以看到连接成功,如果提示失败,需要下载对应的mysql连接驱动
mysql驱动下载地址链接: mysql连接驱动下载选择对应的版本,然后选择Platform Independent
下载后解压拿到jar包放入路径下E:\tools\kettle\pdi-ce-8.2.0.0-342\data-integration\lib
快速入门案例
新建一个转换,点击表输入,
整一个excel输出

点击内容,格式,字段可以对输出内容进行调整,保存然后运行
日志
2025/03/07 20:53:17 - Spoon - 转换已经打开.
2025/03/07 20:53:17 - Spoon - 正在打开转换 [转换 1]...
2025/03/07 20:53:17 - Spoon - 开始执行转换.
2025/03/07 20:53:17 - 转换 1 - 为了转换解除补丁开始 [转换 1]
2025/03/07 20:53:17 - 表输入.0 - Finished reading query, closing connection
2025/03/07 20:53:17 - 表输入.0 - 完成处理 (I=4, O=0, R=0, W=4, U=0, E=0)
2025/03/07 20:53:17 - Microsoft Excel output.0 - 完成处理 (I=0, O=4, R=4, W=4, U=0, E=0)
2025/03/07 20:53:17 - Spoon - 转换完成!!
数据库表数据如下
运行结果如下

ID,跟age格式不对,可根据内容,格式,字段可以对输出内容进行调整,以上就是简单的入门案例啦,真实的应用场景是有很多复杂的流程的

相关文章:
kettle工具使用从入门到精通(一)
安装 可以从链接: 官网(下载链接在Pentaho.pdf文件里)或者网络上查找对应的版本安装 Kettle (PDI) 版本与 JDK 版本对应关系 Kettle (PDI) 版本支持的 JDK 版本备注PDI 9.x 及以上JDK 11 或更高版本推荐使用 OpenJDK 或 Oracle JDK 11。PDI 8.xJDK 8 …...
Java 实现 Oracle 的 MONTHS_BETWEEN 函数
介绍 因为系统迁移, 有一些函数要转成 Java 版本, Oracle 的 官方介绍 - MONTHS_BETWEEN MONTHS_BETWEEN returns number of months between dates date1 and date2. The month and the last day of the month are defined by the parameter NLS_CALENDAR. If date1 is late…...
windows下使用msys2编译ffmpeg
三种方法: 1、在msys2中使用gcc编译 2、在msys2中使用visual studio编译(有环境变量) 3、在msys2中使用visual studio编译(无环境变量) 我的环境: 1、msys2-x86_64-20250221 2、vs2015 3、ffmpeg-7.1…...
Vivado常用的时序约束方法
1,create_clock :创建时钟约束 create_clock -period 20.000 -name sys_clk [get_ports sys_clk 该约束含义是创建一个时钟周期20ns的时钟,时钟名字为sys_clk。注意:如果是差分时钟,只需要约束差分时钟的P端,N端不用约束。 2,set_clock_uncertainty:设置时钟不确定性 s…...
力扣HOT100之哈希:1. 两数之和
这道题之前刷代码随想录的时候已经刷过好几遍了,看到就直接秒了。这道题主要是通过unordered_map<int, int>来建立哈希表,其中键用来保存向量中的元素,而对应的值则为元素的下标。遍历整个向量,当遍历到nums[i]时࿰…...
如何在rust中解析 windows 的 lnk文件(快捷方式)
一、从标题二开始看😁 这些天在使用rust写一个pc端应用程序,需要解析lnk文件获取lnk的图标以及原程序地址,之前并没有过pc端应用程序开发的经验, 所以在广大的互联网上游荡了两天。额🥺 今天找到了这个库 lnk_parse很…...
豆包大模型 MarsCode AI 刷题专栏 001
001.找单独的数 难度:易 问题描述 在一个班级中,每位同学都拿到了一张卡片,上面有一个整数。有趣的是,除了一个数字之外,所有的数字都恰好出现了两次。现在需要你帮助班长小C快速找到那个拿了独特数字卡片的同学手上…...
python语言总结(持续更新)
本文主要是总结各函数,简单的函数不会给予示例,如果在平日遇到一些新类型将会添加 基础知识 输入与输出 print([要输出的内容])输出函数 input([提示内容]如果输入提示内容会在交互界面显示,用以提示用户)输入函数 注释 # 单行注释符&…...
leetcode15 三数之和
1.哈希法 为了避免重复 class Solution { public:vector<vector<int>> threeSum(vector<int>& nums) {set<vector<int>> temple;//使用 set 来存储符合条件的三元组,避免重复vector<vector<int>> out;//存放最终输…...
深入探讨AI-Ops架构 第一讲 - 运维的进化历程以及未来发展趋势
首先,让我们一起回顾运维的进化之路,然后再深入探讨AI-Ops架构的细节。 运维的进化历程 1. AI 大范围普及前的运维状态 (传统运维) 在AI技术尚未广泛渗透到运维领域之前,我们称之为传统运维,其主要特点是: 人工驱动…...
Android Native 之 文件系统挂载
一、文件系统挂载流程概述 二、文件系统挂载流程细节 1、Init启动阶段 众所周知,init进程为android系统的第一个进程,也是native世界的开端,要想让整个android世界能够稳定的运行,文件系统的创建和初始化是必不可少的ÿ…...
常用word python matlab快捷键
这里写自定义目录标题 WordMatlabpythonlinuxWord Matlab 1 结构体 字符串成员做索引,必须()类似python* 解包作用,转化字符串到属性类型 如果属性名存入列表 a = [“para1”] 比如stru1.para1 = [‘c’,‘d’]; 那么若要用a中para1来索引,必须要加圆括号; ==》 X Strut…...
MySQL------存储引擎和用户和授权
9.存储引擎 1.两种引擎 MyISAM和InnoDB 2.两种区别 1.事务: MyISAM不支持事务 2.存储文件: innodb : frm、ibd MyISAM: frm、MYD、MYI 3.数据行锁定: MyISAM不支持 4.全文索引: INNODB不支持,所以MYISAM做select操作速度很快 5.外键约束: MyISAM…...
react拖曳组件react-dnd的简单封装使用
分享原因 由于项目中需要使用拖曳组件(需求:全局,跨组件,跨数据),我选择了react-dnd 概念 React DnD 是一组 React 高阶组件,我们在使用的时候只需要将目标元素进行包裹,就可以实现目标元素具有拖动或接受拖动的功能。…...
Excel中COUNTIF用法解析
COUNTIF 是 Excel 中一个非常实用的函数,用于统计满足某个条件的单元格数量。它的基本语法如下: 基本语法 COUNTIF(范围, 条件) 范围:需要统计的单元格区域,例如 A1:A10 或整列 A:A。 条件:用于判断哪些单元格需要被…...
Uniapp 页面返回不刷新?两种方法防止 onShow 触发多次请求!
目录 前言1. 变量(不生效)2. 延迟(生效) 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 在 Uniapp 中,使用 onShow() 钩子来监听页面显示࿰…...
《论数据湖技术及其应用》审题技巧 - 系统架构设计师
论题写作框架 一、考点概述 “数据湖技术及其应用”这一论题主要考察的是软件测试工程师对于前沿数据存储与处理技术的理解及其在软件开发项目中的实际应用能力。具体而言,该论题涵盖了以下几个核心考点: 软件项目管理与开发经验 :要求考生…...
C++蓝桥杯基础篇(八)
片头 嗨~小伙伴们,大家好!今天我们一起来学习C蓝桥杯基础篇(八),练习相关字符串的习题,准备好了吗?Are you ready? Lets go! 第1题 字符串中的数字个数 这道题,我们用字符数组或者…...
AI 实战 - pytorch框架基于retinaface实现face检测
pytorch框架基于retinaface实现face检测 简介模型结构MobileNet-0.25SSH结构Head结构 Anchor编解码 环境开发环境 数据简介 训练测试参考 简介 RetinaFace是在RetinaNet基础上引申出来的人脸检测框架,所以大致结构和RetinaNet非常像。 主要改进:1.Mobi…...
如何在PHP中实现API版本管理:保持向后兼容性
如何在PHP中实现API版本管理:保持向后兼容性 在现代Web开发中,API(应用程序编程接口)是连接前端和后端的关键桥梁。随着业务需求的不断变化,API的版本管理变得尤为重要。良好的版本管理策略不仅能够确保新功能的顺利引…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
Unity VR/MR开发-VR开发与传统3D开发的差异
视频讲解链接:【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...
