导航:首页 > 程序命令 > kettle命令行参数

kettle命令行参数

发布时间:2023-01-11 18:26:37

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

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

‘贰’ 如何在kettle作业中设置参数

1、首先,我们先打开KETTLE,进入软件的主界面后,我们可以先创建一个作业或者转换,然后双击空白处。
2、我们即可呼出作业或者转换属性窗口,我们在选项卡中国选择“命名参数”,用户填写您所需要设置的命名参数以及默认值,支持添加描述。
3、这里,我们以表输入功能作为例子,我们打开数据库连接,然后可以使用对应的参数,我们设置主机名称、数据库名称等一系列参数,然后输入密码,若用户的密码需要使用参数,勾选密码下的Use Result Streaming Cursor选项。
4、然后,用户即可配置的作业中可以使用相应的参数,住的注意的是参数名称要与设置的参数名称一致,还需要·点选替换SQL语句里的变量。
5、用户按照下图所示进行输入相应参数,点击启动按钮即可配置完成。

‘叁’ kettle运行spoon.bat弹出命令行后一直无反应

1.Kettle无法启动解决方法:
估计是jdk环境变量没配置好,网络、qq找了很多地方,都不行,终于在一个博客里发现了解决方法:
只要修改一下spoon.bat里内存配置:
if "%PENTAHO_DI_java_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms2058m" "-Xmx1024m" "-XX:MaxPermSize=256m"

改为
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms512m" "-Xmx512m" "-XX:MaxPermSize=256m"

修改之后保存,重新启动spoon.bat,奇迹出现了,Kettle真的启动成功了!
2.Kettle无法启动原因分析:
在QQ群里,有大神问:是否电脑硬件配置太低了?我:我的可是华硕i5CPU,4G大内存啊好不?大神:人家玩Kettle的都3位数内存哦,我:(⊙﹏⊙)b。。。
网络一下,还真是如此,理论上主要有两种原因:
1) 参数中-Xms的值大于-Xmx,或者-XX:PermSize的值大于-XX:MaxPermSize;
2) -Xmx的值和-XX:MaxPermSize的总和超过了JVM内存的最大限制,比如当前操作系统最大内存限制,或者实际的物理内存等等。

看起来,是由于本机内存被占用过多,而JVM参数设置过大,导致JVM无法启动,故spoon.bat运行后,Kettle无法启动啊,额,玩大数据分析还得要银子换电脑吗?
3.JVM(java虚拟机)相关概念
在排查kettle问题时,用到了几个概念,都贴在这里吧。
1)堆(Heap)和非堆(Non-heap)内存
JVM主要管理两种类型的内存:堆和非堆。
简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的,
2)JVM的几个参数:
-Xms2058mJVM初始分配的堆内存
-Xmx1024mJVM最大允许分配的堆内存,按需分配
-XX:PermSize=128MJVM初始分配的非堆内存
-XX:MaxPermSize=256MJVM最大允许分配的非堆内存,按需分配
3)Xms Xmx PermSize MaxPermSize 区别

‘肆’ kettle环境变量的设置和获取

系统环境变量的影响范围很广,凡是在一个 JVM下运行的线程都受其影响.

Kettle 变量限制了变量的作用范围, 变量范围包括三种分别是 grand-parent job, parent job, root job

内部变量: 是 kettle 内置的一些变量, 主要是kettle 运行时依赖的环境, 如转换文件名称, 转换路径,ip地址, kettle 版本号等等.

"Kettle 变量" 只能通过设置环境变量 (Set Variable) 步骤设置,同时设置变量的作用范围.
"内部变量" 是预置的无须设置.

命令行参数:

图形界面下,每次运行时有要求输入参数的提示窗口.

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

有三种设置方式:
1、
通过命令行
-D
参数。
2、属性文件
kettle.property
中设置,
该属性文件位于
${user.home}.kettle
下。
3、通过设置环境变量步骤
(Set
Variable)
设置。
注意:
"Kettle
变量"
只能通过设置环境变量
(Set
Variable)
步骤设置,同时设置变量的作用范围。
"内部变量"
是预置的无须设置。

阅读全文

与kettle命令行参数相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:142
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:732
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:141
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:890
app转账是什么 浏览:163