“Kettle资源库、运行方式与日志”的版本间的差异
(创建页面,内容为“一、kettle资源库 资源库是用来保存转换任务的,用户通过图形界面创建的的转换任务可以保存在资源库中。 资源…”) |
|||
第1行: | 第1行: | ||
一、kettle资源库 | 一、kettle资源库 | ||
资源库是用来保存转换任务的,用户通过图形界面创建的的转换任务可以保存在资源库中。 | 资源库是用来保存转换任务的,用户通过图形界面创建的的转换任务可以保存在资源库中。 | ||
资源库可以使多用户共享转换任务,转换任务在资源库中是以文件夹形式分组管理的,用户可以自定义文件夹名称。 | |||
1.ketle资源库元数据 | 1.ketle资源库元数据 | ||
• 资源库 | • 资源库 | ||
第7行: | 第8行: | ||
Kettle 4.0 以后资源库类型可以插件扩展 | Kettle 4.0 以后资源库类型可以插件扩展 | ||
• XML 文件 | • XML 文件 | ||
ktr 转换文件的XML的根节点必须是 <transformation> | |||
kjb 作业XML的根节点是<job> | |||
2.kettle资源库类型 | 2.kettle资源库类型 | ||
数据库资源库: | 数据库资源库: | ||
• 把 Kettle 的元数据串行化到数据库中,如 R_TRANSFORMATION 表保 | • 把 Kettle 的元数据串行化到数据库中,如 R_TRANSFORMATION 表保 | ||
存了Kettle 转换的名称、描述等属性。 | |||
• 在Spoon 里创建和升级数据库资源库 | • 在Spoon 里创建和升级数据库资源库 | ||
文件资源库: | 文件资源库: | ||
在文件的基础上的封装,实现了 org.pentaho.di.repository.Repository 接口。 | |||
是Kettle 4.0 以后版本里增加的资源库类型 | |||
不使用资源库: | |||
直接保存为ktr 或 kjb 文件。 | |||
3.资源库操作 | 3.资源库操作 | ||
新建资源库: | |||
kettle7.0后新建方式略有不同,新建资源库在右上角->connect, | |||
详细新建图文步骤,参考资源库的管理 | |||
如果缺少驱动,则将mysql-connector这个Jar放到kettle的lib目录下即可(mvn库中有) | |||
使用默认的admin/admin即可登陆到资源库! | |||
导入/导出资源库: | |||
导航栏->工具->导入/导出资源库,或者探索资源库进行指定目录的导出,导出为.xml文件即可! | |||
资源库管理: | |||
kettle新版管理也在右上角: | |||
选择资源库的几点参考对比: | |||
4.统一参数管理 | 4.统一参数管理 | ||
像资源库的一些连接信息应该是不能硬编码写死的,所以kettle也提供了kettle.properties文件来进行全局变量的控制 | |||
kettle.properties,文件位于 java 的 user.home 目录下。(通过java SystemProp运行class文件可以查看到) | |||
SystemProp.class | |||
SystemProp.jad | |||
找到user.home下的.kettle/kettle.properties | |||
写入变量后,使用${var.name}进行变量读取即可(类似shell的变量形式) | |||
// 使用参数表等情况,暂不赘述 | // 使用参数表等情况,暂不赘述 | ||
第51行: | 第53行: | ||
API:Kettle Java API 嵌入到其他应用 | API:Kettle Java API 嵌入到其他应用 | ||
1.Spoon | 1.Spoon | ||
本地运行:前面的都是采用本地运行,直接点击运行按钮进行运行的,不再赘述 | |||
远程:Carte, | |||
• Carte 是内嵌 Jetty 的 http server。 | |||
• Carte执行命令 carte localhost 8080 | |||
需要现在服务器上运行命令,格式为carte ip 端口 (端口可以随意,只要不冲突即可) | |||
carte localhost 8080 | carte localhost 8080 | ||
// 主要命令的位置(未配置PATH需要切到指定目录) | // 主要命令的位置(未配置PATH需要切到指定目录) | ||
然后在转换的主对象下找到子服务器 | 然后在转换的主对象下找到子服务器 | ||
第66行: | 第68行: | ||
集群方式,暂不介绍 | 集群方式,暂不介绍 | ||
2.命令行 | 2.命令行 | ||
主要有Pan和Kitchen,但是由于项目都是以作业为主,所以还是Kitchen使用的更多 | |||
两种方式的参数列表如下:(直接敲命令kitchen等不带任何参数,则列出帮助) | |||
Pan | |||
参数名列表: | 参数名列表: | ||
/rep : 资源库名称 | /rep : 资源库名称 | ||
第90行: | 第92行: | ||
/maxloglines:内存中保存日志的最大日志行数 | /maxloglines:内存中保存日志的最大日志行数 | ||
/maxlogtimeout:内存中保存日志的最长时间 | /maxlogtimeout:内存中保存日志的最长时间 | ||
Kitchen | Kitchen | ||
/rep : 资源库名称 | /rep : 资源库名称 | ||
第111行: | 第114行: | ||
/maxloglines:内存中保存日志的最大日志行数 | /maxloglines:内存中保存日志的最大日志行数 | ||
/maxlogtimeout:内存中保存日志的最长时间 | /maxlogtimeout:内存中保存日志的最长时间 | ||
日志级别 | 日志级别 | ||
Error: 只记录错误信息 | Error: 只记录错误信息 | ||
第118行: | 第122行: | ||
Detailed: 记录详细信息 | Detailed: 记录详细信息 | ||
Debug: 记录调试信息 | Debug: 记录调试信息 | ||
Rowlevel: 转换过程中的每一行都记录下来, | Rowlevel: 转换过程中的每一行都记录下来,日志最详细,执行效率最低 | ||
命令格式:/参数名:值 或-参数名=值 | |||
新建一个测试作业: | |||
执行作业示例: | 执行作业示例: | ||
第132行: | 第135行: | ||
默认的日志文件保存在 java.io.tmpdir 目录下,文件名类似spoon_xxx.log | 默认的日志文件保存在 java.io.tmpdir 目录下,文件名类似spoon_xxx.log | ||
图形化界面也有日志输出窗口 | 图形化界面也有日志输出窗口 | ||
2.日志参数设置 | |||
Spoon中通过工具->选项进行部分日志输出窗口设置 | |||
kettle.properties中相关参数设置: | |||
KETTLE_MAX_LOG_SIZE_IN_LINE 变量 | KETTLE_MAX_LOG_SIZE_IN_LINE 变量 | ||
KETTLE_MAX_LOG_TIMEOUT_IN_MINUTES变量 | KETTLE_MAX_LOG_TIMEOUT_IN_MINUTES变量 | ||
3.数据库日志 | 3.数据库日志 | ||
转换有4个日志表: | |||
• 转换日志表 | • 转换日志表 | ||
• 步骤日志表 | • 步骤日志表 | ||
• 性能日志表 | • 性能日志表 | ||
• 日志通道日志表 | • 日志通道日志表 | ||
作业日志表: | |||
• 作业日志表 | • 作业日志表 | ||
• 作业项日志表 | • 作业项日志表 | ||
• 日志通道日志表 | • 日志通道日志表 | ||
转换的日志设置在:编辑->设置;选择日志(作业同理) | |||
选择数据库连接->如果数据库中没有这个表,则可以点击下面的SQL,再通过执行进行新建 | 选择数据库连接->如果数据库中没有这个表,则可以点击下面的SQL,再通过执行进行新建 | ||
第154行: | 第157行: | ||
其他日志表类似 | 其他日志表类似 | ||
监控表需要开启监控: | |||
日志简要介绍如下: | |||
2021年10月15日 (五) 02:26的版本
一、kettle资源库
资源库是用来保存转换任务的,用户通过图形界面创建的的转换任务可以保存在资源库中。
资源库可以使多用户共享转换任务,转换任务在资源库中是以文件夹形式分组管理的,用户可以自定义文件夹名称。
1.ketle资源库元数据 • 资源库 资源库包括文件资源库、数据库资源库 Kettle 4.0 以后资源库类型可以插件扩展 • XML 文件 ktr 转换文件的XML的根节点必须是 <transformation>
kjb 作业XML的根节点是<job>
2.kettle资源库类型 数据库资源库: • 把 Kettle 的元数据串行化到数据库中,如 R_TRANSFORMATION 表保 存了Kettle 转换的名称、描述等属性。 • 在Spoon 里创建和升级数据库资源库 文件资源库: 在文件的基础上的封装,实现了 org.pentaho.di.repository.Repository 接口。 是Kettle 4.0 以后版本里增加的资源库类型
不使用资源库:
直接保存为ktr 或 kjb 文件。 3.资源库操作 新建资源库: kettle7.0后新建方式略有不同,新建资源库在右上角->connect, 详细新建图文步骤,参考资源库的管理 如果缺少驱动,则将mysql-connector这个Jar放到kettle的lib目录下即可(mvn库中有) 使用默认的admin/admin即可登陆到资源库! 导入/导出资源库: 导航栏->工具->导入/导出资源库,或者探索资源库进行指定目录的导出,导出为.xml文件即可! 资源库管理: kettle新版管理也在右上角:
选择资源库的几点参考对比:
4.统一参数管理 像资源库的一些连接信息应该是不能硬编码写死的,所以kettle也提供了kettle.properties文件来进行全局变量的控制 kettle.properties,文件位于 java 的 user.home 目录下。(通过java SystemProp运行class文件可以查看到)
SystemProp.class
SystemProp.jad
找到user.home下的.kettle/kettle.properties 写入变量后,使用${var.name}进行变量读取即可(类似shell的变量形式) // 使用参数表等情况,暂不赘述
二、kettle运行方式
运行方式主要分为:图形化、命令行、API 图形界面:Spoon 命令行:Pan、Kitchen API:Kettle Java API 嵌入到其他应用 1.Spoon 本地运行:前面的都是采用本地运行,直接点击运行按钮进行运行的,不再赘述 远程:Carte, • Carte 是内嵌 Jetty 的 http server。 • Carte执行命令 carte localhost 8080 需要现在服务器上运行命令,格式为carte ip 端口 (端口可以随意,只要不冲突即可)
carte localhost 8080
// 主要命令的位置(未配置PATH需要切到指定目录) 然后在转换的主对象下找到子服务器
// 默认用户名和密码为cluster/cluster 集群方式,暂不介绍 2.命令行 主要有Pan和Kitchen,但是由于项目都是以作业为主,所以还是Kitchen使用的更多 两种方式的参数列表如下:(直接敲命令kitchen等不带任何参数,则列出帮助)
Pan 参数名列表: /rep : 资源库名称 /user : 资源库用户名 /pass : 资源库密码 /trans : 要启动的转换名称 /dir : 目录(不要忘了前缀 /) /file : 要启动的文件名(转换文件) /level : 日志级别 (Error, Nothing, Minimal, Basic , Detailed, Debug, Rowlevel) /logfile : 要写入的日志文件 /listdir : 列出资源库里的目录 /listtrans : 列出指定目录下的转换 /listrep : 列出可用资源库 /exprep : 将资源库里的所有对象导出到 XML 文件中 /norep : 不要将日志写到资源库中 /safemode : 安全模式下运行: 有额外的检查 /version : 显示转换的版本,校订和创建日期 /param : 设置参数,参数格式<NAME>=<VALUE>,例如-param:FOO=bar /listparam: 列出转换里已经设置好的参数。 /maxloglines:内存中保存日志的最大日志行数 /maxlogtimeout:内存中保存日志的最长时间
Kitchen /rep : 资源库名称 /user : 资源库用户名 /pass : 资源库密码 /job : 要启动的作业名称 /dir : 目录(不要忘了前缀 /) /file : 要启动的文件名(转换文件) /level : 日志级别 (Error, Nothing, Minimal, Basic , Detailed, Debug, Rowlevel) /logfile : 要写入的日志文件 /listdir : 列出资源库里的目录 /listjobs : 列出指定目录下的作业 /listrep : 列出可用资源库 /exprep : 将资源库里的所有对象导出到 XML 文件中 /norep : 不要将日志写到资源库中 /safemode : 安全模式下运行: 有额外的检查 /version : 显示转换的版本,校订和创建日期 /param : 设置参数,参数格式<NAME>=<VALUE>,例如-param:FOO=bar /listparam: 列出转换里已经设置好的参数 /export: 把作业依赖的所有资源导出到一个zip 文件里 /maxloglines:内存中保存日志的最大日志行数 /maxlogtimeout:内存中保存日志的最长时间
日志级别 Error: 只记录错误信息 Nothing: 不记录任何信息,执行效率最高 Minimal: 记录最少的信息 Basic: 记录基本信息 Detailed: 记录详细信息 Debug: 记录调试信息 Rowlevel: 转换过程中的每一行都记录下来,日志最详细,执行效率最低 命令格式:/参数名:值 或-参数名=值 新建一个测试作业:
执行作业示例:
./kitchen /rep:r1 /user:admin /pass:admin /job:j1 /dir:/ /logfile:F:/log3.txt // 更多示例,待补充
三、日志 1.文件日志位置 通过/logfile在命令行中运行Job时设置 linux中通过管道符进行输出重定向 默认的日志文件保存在 java.io.tmpdir 目录下,文件名类似spoon_xxx.log 图形化界面也有日志输出窗口 2.日志参数设置 Spoon中通过工具->选项进行部分日志输出窗口设置 kettle.properties中相关参数设置:
KETTLE_MAX_LOG_SIZE_IN_LINE 变量 KETTLE_MAX_LOG_TIMEOUT_IN_MINUTES变量
3.数据库日志 转换有4个日志表: • 转换日志表 • 步骤日志表 • 性能日志表 • 日志通道日志表 作业日志表: • 作业日志表 • 作业项日志表 • 日志通道日志表 转换的日志设置在:编辑->设置;选择日志(作业同理)
选择数据库连接->如果数据库中没有这个表,则可以点击下面的SQL,再通过执行进行新建 转换表配置如下:
其他日志表类似
监控表需要开启监控:
日志简要介绍如下: