如何给一个 Kettle 转换设置变量和命令行参数

如何给一个 Kettle 转换设置变量和命令行参数,第1张

1 变量的类型
Kettle 的早期版本中的变量只有系统环境变量
目前版本中(31) 变量包括系统环境变量, "Kettle变量" 和内部变量三种系统环境变量的影响范围很广,凡是在一个 JVM下运行的线程都受其影响Kettle 变量限制了变量的作用范围, 变量范围包括三种分别是 grand-parent job, parent job, root job 内部变量: 是 kettle 内置的一些变量, 主要是kettle 运行时依赖的环境, 如转换文件名称, 转换路径,ip地址, kettle 版本号等等2 变量的设置
"系统环境变量" 有三种设置方式
1) 通过命令行 -D 参数
2) 属性文件 kettleproperty 中设置, 该属性文件位于 ${userhome}kettle 下
3) 通过设置环境变量步骤 (Set Variable) 设置"Kettle 变量" 只能通过设置环境变量 (Set Variable) 步骤设置,同时设置变量的作用范围
"内部变量" 是预置的无须设置3 变量的使用
无论哪种类型的变量在使用上都是一样的, 有两种方式
1) 通过 %%var%% 或 ${var} 来引用, 这个引用可以用在 SQL 语句中, 也可以用在允许变量输入的输入框里
2) 通过获取变量 (Get Variable) 步骤来使用命令行参数:
1 设置: 命令行参数通过获取系统信息(Get System Info) 步骤设置, 在使用时可以像列名一样来使用,不必像变量一样要通过 ${var} 这样的格式引用 用户最多可以设置10个命令行参数
2 传递: 命令行下使用 pan /file:xxxktr arg1 arg2 来传递参数图形界面下,每次运行时有要求输入参数的提示窗口

使用kettle导出文件时我们不免会因为当前使用的kettle版本过低的原因,导致数据量较大的文件导出时报错,此下,解决方法1为升级kettle版本,若无升级的必要时可采用方法2,方法2如下图所示

本人测试结果:源表数据依次被加载到以下几张表格中,且导出的数据与源表数据完全相同,不存在多出和少入的情况

需求:通过kettle *** 作clickhouse

背景:kettle官方不支持clickhouse的驱动

版本:

clickhouse 208715

kettle 81

实现步骤:

windows上环境:

1、将以下包放入   xxx\data-integration\libswt\win64

2、在kettle的plugins文件夹下创建clickhouse-plugins

3、将以下包文件放入上面创建的clickhouse-plugins目录下

4、重启kettle

5、kettle中 *** 作
以上方案在kettle中插入日期数据到clickhouse会报异常,处理方式如下

1、删除第一步中放入到win64下面的所有jar包

2、将下面包放入到kettle的lib下,重启即可
ps:由于平台上不能上传相关jar包,以上包有需要的可以联系我。

参考文章: >

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/13380169.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-25
下一篇 2023-07-25

发表评论

登录后才能评论

评论列表(0条)

保存