“Kettle资源库、运行方式与日志”的版本间的差异

来自小能手俱乐部
跳到导航 跳到搜索
(创建页面,内容为“一、kettle资源库   资源库是用来保存转换任务的,用户通过图形界面创建的的转换任务可以保存在资源库中。 资源…”)
 
 
(未显示同一用户的4个中间版本)
第1行: 第1行:
一、kettle资源库
== 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也提供了kettle.properties文件来进行全局变量的控制
    kettle.properties,文件位于 java 的 user.home 目录下。(通过java SystemProp运行class文件可以查看到)


SystemProp.class
* 资源库
 
资源库包括文件资源库、数据库资源库
 
Kettle 4.0 以后资源库类型可以插件扩展
 
* XML文件
 
ktr 转换文件的XML的根节点必须是 <transformation>
 
kjb 作业XML的根节点是<job>
 
=== kettle资源库类型 ===
 
==== 数据库资源库: ====
 
* 把 Kettle 的元数据串行化到数据库中,如 R_TRANSFORMATION 表保存了Kettle 转换的名称、描述等属性。
 
* 在Spoon 里创建和升级数据库资源库
 
==== 文件资源库: ====
在文件的基础上的封装,实现了 org.pentaho.di.repository.Repository 接口。是Kettle 4.0 以后版本里增加的资源库类型。 
 
==== 不使用资源库: ====
  直接保存为ktr或kjb文件。
 
=== 资源库操作 ===
 
==== 新建资源库: ====
  kettle7.0后新建方式略有不同,新建资源库在右上角->connect,
 
[[文件:Ct2-1.png|无框]]
 
选择资源库的几点参考对比:
 
[[文件:Ct2-2.png|无框|697x697像素]]
 
=== 统一参数管理 ===
像资源库的一些连接信息应该是不能硬编码写死的,所以kettle也提供了kettle.properties文件来进行全局变量的控制。    
 
kettle.properties,文件位于 java 的 user.home 目录下。
 
找到user.home下的.kettle/kettle.properties
 
写入变量后,使用${var.name}进行变量读取即可(类似shell的变量形式)
 
// 使用参数表等情况,暂不赘述
 
== Kettle运行方式 ==
   运行方式主要分为:图形化、命令行、API。
 
图形界面:Spoon
 
命令行:Pan、Kitchen
 
API:Kettle Java API 嵌入到其他应用
 
=== Spoon ===
本地运行:前面的都是采用本地运行,直接点击运行按钮进行运行的,不再赘述。
远程:Carte
 
* Carte 是内嵌 Jetty 的 http server。
* Carte执行命令 carte localhost 8080
 
需要现在服务器上运行命令,格式为carte ip 端口 (端口可以随意,只要不冲突即可) carte localhost 8080


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需要切到指定目录)
  // 主要命令的位置(未配置PATH需要切到指定目录)
  然后在转换的主对象下找到子服务器
 
然后在转换的主对象下找到子服务器
 
[[文件:Ct2-3.png|无框|408x408像素]]
 
[[文件:Ct2-4.png|无框|635x635像素]]
 
  // 默认用户名和密码为cluster/cluster
  
  


  
集群方式,暂不介绍
 
=== 命令行 ===
主要有Pan和Kitchen,但是由于项目都是以作业为主,所以还是Kitchen使用的更多
 
两种方式的参数列表如下:(直接敲命令kitchen等不带任何参数,则列出帮助)
 
[[文件:Ct2-5.png|无框|717x717像素]]
 
==== 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: 转换过程中的每一行都记录下来,日志最详细,执行效率最低
 
 
 
命令格式:/参数名:值 或-参数名=值


  // 默认用户名和密码为cluster/cluster
新建一个测试作业:
  集群方式,暂不介绍
  2.命令行
    主要有Pan和Kitchen,但是由于项目都是以作业为主,所以还是Kitchen使用的更多
    两种方式的参数列表如下:(直接敲命令kitchen等不带任何参数,则列出帮助)


Pan
[[文件:Ct2-6.png|无框]]
参数名列表:
/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
  ./kitchen /rep:r1 /user:admin /pass:admin /job:j1 /dir:/ /logfile:F:/log3.txt // 更多示例,待补充
  // 更多示例,待补充
 
三、日志
== 日志 ==
  1.文件日志位置
 
    通过/logfile在命令行中运行Job时设置
=== 文件日志位置 ===
    linux中通过管道符进行输出重定向
通过/logfile在命令行中运行Job时设置
    默认的日志文件保存在 java.io.tmpdir 目录下,文件名类似spoon_xxx.log
linux中通过管道符进行输出重定向
    图形化界面也有日志输出窗口
 
  2.日志参数设置
默认的日志文件保存在 java.io.tmpdir 目录下,文件名类似spoon_xxx.log
    Spoon中通过工具->选项进行部分日志输出窗口设置
 
    kettle.properties中相关参数设置:
图形化界面也有日志输出窗口
KETTLE_MAX_LOG_SIZE_IN_LINE 变量
 
KETTLE_MAX_LOG_TIMEOUT_IN_MINUTES变量
=== 日志参数设置 ===
   3.数据库日志
Spoon中通过工具->选项进行部分日志输出窗口设置
     转换有4个日志表:
kettle.properties中相关参数设置:
转换日志表
      KETTLE_MAX_LOG_SIZE_IN_LINE 变量
步骤日志表
      KETTLE_MAX_LOG_TIMEOUT_IN_MINUTES变量
性能日志表
 
日志通道日志表
=== 数据库日志 ===
    作业日志表:
转换有4个日志表:
作业日志表
 
作业项日志表
* 转换日志表
日志通道日志表
* 步骤日志表
    转换的日志设置在:编辑->设置;选择日志(作业同理)
* 性能日志表
* 日志通道日志表
* 作业日志表
 
* 作业日志表
* 作业项日志表
 
* 日志通道日志表
 
转换的日志设置在:编辑->设置;选择日志(作业同理)
 
[[文件:Ct2-7.png|无框|807x807像素]]
 
  选择数据库连接->如果数据库中没有这个表,则可以点击下面的SQL,再通过执行进行新建,转换表配置如下:
 
[[文件:Ct2-8.png|无框|802x802像素]]
 
  其他日志表类似,监控表需要开启监控:


  选择数据库连接->如果数据库中没有这个表,则可以点击下面的SQL,再通过执行进行新建
[[文件:Ct2-9.png|无框]]
  转换表配置如下:
  


  其他日志表类似
日志简要介绍如下:
  监控表需要开启监控:
  


  日志简要介绍如下:
[[文件:Ct2-10.png|无框|518x518像素]]
  

2021年10月29日 (五) 01:42的最新版本

kettle资源库

资源库是用来保存转换任务的,用户通过图形界面创建的的转换任务可以保存在资源库中。

资源库可以使多用户共享转换任务,转换任务在资源库中是以文件夹形式分组管理的,用户可以自定义文件夹名称。

kettle资源库元数据

  • 资源库

资源库包括文件资源库、数据库资源库

Kettle 4.0 以后资源库类型可以插件扩展

  • XML文件

ktr 转换文件的XML的根节点必须是 <transformation>

kjb 作业XML的根节点是<job>

kettle资源库类型

数据库资源库:

  • 把 Kettle 的元数据串行化到数据库中,如 R_TRANSFORMATION 表保存了Kettle 转换的名称、描述等属性。
  • 在Spoon 里创建和升级数据库资源库

文件资源库:

在文件的基础上的封装,实现了 org.pentaho.di.repository.Repository 接口。是Kettle 4.0 以后版本里增加的资源库类型。 

不使用资源库:

  直接保存为ktr或kjb文件。

资源库操作

新建资源库:

  kettle7.0后新建方式略有不同,新建资源库在右上角->connect,

生成缩略图出错:无法找到文件

选择资源库的几点参考对比:

生成缩略图出错:无法找到文件

统一参数管理

像资源库的一些连接信息应该是不能硬编码写死的,所以kettle也提供了kettle.properties文件来进行全局变量的控制。 

kettle.properties,文件位于 java 的 user.home 目录下。

找到user.home下的.kettle/kettle.properties

写入变量后,使用${var.name}进行变量读取即可(类似shell的变量形式)

// 使用参数表等情况,暂不赘述

Kettle运行方式

   运行方式主要分为:图形化、命令行、API。

图形界面:Spoon

命令行:Pan、Kitchen

API:Kettle Java API 嵌入到其他应用

Spoon

本地运行:前面的都是采用本地运行,直接点击运行按钮进行运行的,不再赘述。 远程:Carte

  • Carte 是内嵌 Jetty 的 http server。
  • Carte执行命令 carte localhost 8080

需要现在服务器上运行命令,格式为carte ip 端口 (端口可以随意,只要不冲突即可) carte localhost 8080

  // 主要命令的位置(未配置PATH需要切到指定目录)

然后在转换的主对象下找到子服务器

生成缩略图出错:无法找到文件
生成缩略图出错:无法找到文件

  // 默认用户名和密码为cluster/cluster   

集群方式,暂不介绍

命令行

主要有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 // 更多示例,待补充

日志

文件日志位置

通过/logfile在命令行中运行Job时设置 linux中通过管道符进行输出重定向

默认的日志文件保存在 java.io.tmpdir 目录下,文件名类似spoon_xxx.log

图形化界面也有日志输出窗口

日志参数设置

Spoon中通过工具->选项进行部分日志输出窗口设置 kettle.properties中相关参数设置:

     KETTLE_MAX_LOG_SIZE_IN_LINE 变量
     KETTLE_MAX_LOG_TIMEOUT_IN_MINUTES变量

数据库日志

转换有4个日志表:

  • 转换日志表
  • 步骤日志表
  • 性能日志表
  • 日志通道日志表
  • 作业日志表
  • 作业日志表
  • 作业项日志表
  • 日志通道日志表

转换的日志设置在:编辑->设置;选择日志(作业同理)

生成缩略图出错:无法找到文件

  选择数据库连接->如果数据库中没有这个表,则可以点击下面的SQL,再通过执行进行新建,转换表配置如下:

生成缩略图出错:无法找到文件

  其他日志表类似,监控表需要开启监控:

生成缩略图出错:无法找到文件

日志简要介绍如下:

生成缩略图出错:无法找到文件