版本信息
Oracle: 19c
Kettle: pdi-ce-9.2.0.0
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
Kettle介绍:Link

基本概念:

1.Transformation:定义对数据操作的容器,数据操作就是数据从输入到输出的一个过程,可以理解为比Job粒度更小一级的容器,我们将任务分解成Job,然后需要将Job分解成一个或多个Transformation,每个Transformation只完成一部分工作
(定义对数据操作的容器,数据操作就是数据从输入到输出的一个过程,可以理解为比作业粒度更小一级的容器,我们将任务分解成作业,然后需要将作业分解成一个或多个转换,每个转换只完成一部分工作)
2.Step:是Transformation内部的最小单元,每一个Step完成一个特定的功能。
3.Job:负责将Transformation组织在一起进而完成某一工作,通常我们需要把一个大的任务分解成几个逻辑上隔离的Job,当这几个Job都完成了,也就说明这项任务完成了
(负责将[转换]组织在一起进而完成某一块工作,通常我们需要把一个大的任务分解成几个逻辑上隔离的作业,当这几个作业都完成了,也就说明这项任务完成了)
4.Job Entry:Job Entry是Job内部的执行单元,每一个Job Entry用于实现特定的功能,如:验证表是否存在,发送邮件等。可以通过Job来执行另一个Job或者Transformation,也就是说Transformation和Job都可以作为Job Entry
5.Hop:用于在Transformation中连接Step,或者在Job中连接Job Entry,是一个数据流的图形化表示
  在Kettle中Job中的JobEntry是串行执行的,故Job中必须有一个Start的JobEntry;Transformation中的Step是并行执行的

概念模型

kettle中连接不上hive的数据库 kettle连接oracle报错_数据操作

1.需要安装Java-Jdk,设置环境变量:KETTLE_HOME2.下载Kettle程序:Link,不需要安装,解压点击 Spoon.bat3.使用

3.1.Kettle 连接 Oracle 

3.1.1.Kettle 连接 Oracle 驱动:Driver class 'oracle.jdbc.driver.OracleDriver' could not be found

3.1.2.Kettle 连接 MSSQL 驱动: Driver class 'net.sourceforge.jtds.jdbc.Driver' could not be found

3.1.3.Kettle 连接 MySql 驱动:Driver class 'org.gjt.mm.mysql.Driver' could not be found

3.2.Kettle 加密字符串3.3.Kettle 使用变量

3.4.Kettle 创建转换[Transformation]和定时任务[Job]

3.5.Kettle 读取Excel中的数据保存到Oracle

3.5.1.Kettle Excel导入增加常量【增加列】

3.5.2.kettle的转换组件

3.6.Kettle 自动调度,通过脚本运行转换[Transformation]和定时任务[Job]

9.异常

9.1.ORA-28040: No matching authentication protocol

原因:Oracle连接客户端与服务端Oracle的版本不匹配造成的,可使用 3.1.1方法 解决,也可以点击3.1.1的链接下载包替换【对应关系不清楚,我试过还是同样的错误】

9.2.ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

方法:DatabaseName的值为 ServerName,前面需要加 “/”

9.3.启动时提示:could not create the java virtual machine

9.3.1.并不是java虚拟机出了问题,需要修改下的spoon.bat里内存配置

if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms2058m" "-Xmx1024m"
改为
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms512m" "-Xmx512m"
如果电脑内存小于4G,建议可以再小一些

9.3.2.如果启动继续报错,"A java exception has occurred" ,可以考虑下载的Kettle版本是否与你JDK匹配

9.4.点击“Test”按钮,没有任何响应

原因:jdbc 和 Kettle 版本不匹配,按照 3.1 的方法就能处理

 

9.9.更多异常参考: Link

 

Reference:

Kettle9.0 简单入门

Kettle — 使用手册

kettle使用教程(超详细)

通过Kitchen和Pan以命令行方式执行kettle的Job和Transformation

kettle的基础概念入门、下载、安装、部署

分类:kettle异常