kettle-8.3.0.0:资源库、运行方式与日志

资源库

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

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

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-8.3.0.0:创建资源库

注意:如果缺少驱动,则将mysql-connector这个Jar放到kettle的lib目录下即可

使用默认的admin/admin即可登陆到资源库!

如果使用中文进行了资源库命名,将会出现资源库无法新建的问题。解决方案,参考:https://blog.csdn.net/liuwenbiao1203/article/details/77579436

导入/导出资源库:

导航栏->工具->导入/导出资源库,或者探索资源库进行指定目录的导出,导出为.xml文件即可!

资源库管理:

kettle新版管理也在右上角:

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

统一参数管理

像资源库的一些连接信息应该是不能硬编码写死的,所以kettle也提供了kettle.properties文件来进行全局变量的控制kettle.properties,文件位于 java 的 user.home 目录下。(通过java SystemProp运行class文件可以查看到)

cafe babe 0000 0031 0023 0a00 0800 130a
0014 0015 0900 1400 160a 0017 0018 0700
0d0a 0005 0013 0a00 0500 1907 001a 0100
063c 696e 6974 3e01 0003 2829 5601 0004
436f 6465 0100 0f4c 696e 654e 756d 6265
7254 6162 6c65 0100 0a53 7973 7465 6d50
726f 7001 0005 7072 696e 7401 0004 6d61
696e 0100 1628 5b4c 6a61 7661 2f6c 616e
import java.util.Properties;

public class SystemProp
{

    public SystemProp()
    {
    }

    public void SystemProp()
    {
    }

    public void print()
    {
        Properties properties = System.getProperties();
        properties.list(System.out);
    }

    public static void main(String args[])
    {
        SystemProp systemprop = new SystemProp();
        systemprop.print();
    }
}

找到user.home下的.kettle/kettle.properties写入变量后,使用${var.name}进行变量读取即可(类似shell的变量形式)

kettle内置变量,参考https://blog.csdn.net/qq_22073849/article/details/70139584

更多细节,参考:博文1博文2

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

运行方式

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

* 图形界面:Spoon
* 命令行:Pan、Kitchen

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

1.Spoon

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

远程:Carte,

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

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

carte localhost 8888

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

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

 

 

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

集群方式,暂不介绍

2.命令行

主要有Pan和Kitchen,但是由于项目都是以作业为主,所以还是Kitchen使用的更多(具体使用参考:原创 kettle-8.3.0.0:定时任务(后台任务)

命令格式:

/参数名:值
或
-参数名=值

新建一个测试作业:

 

执行作业示例:

./kitchen.sh /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变量

日志级别

Error: 只记录错误信息
Nothing: 不记录任何信息,执行效率最高
Minimal: 记录最少的信息
Basic: 记录基本信息
Detailed: 记录详细信息
Debug: 记录调试信息
Rowlevel: 转换过程中的每一行都记录下来,日志最详细,执行效率最低

数据库日志

转换有4个日志表:

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

作业日志表:

• 作业日志表
• 作业项日志表
• 日志通道日志表

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

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

转换表配置如下:

 

其他日志表类似

监控表需要开启监控:

 

日志简要介绍如下:

 

发布了378 篇原创文章 · 获赞 19 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/qq_32252917/article/details/103710965
今日推荐