Kettle Internal.Job.Filename.Directory
Posted
技术标签:
【中文标题】Kettle Internal.Job.Filename.Directory【英文标题】: 【发布时间】:2011-04-13 19:01:07 【问题描述】:我是 Pentaho Kettle 的新手,我想知道 Internal.Job.Filename.Directory
是什么?
SPoon.bat
文件夹,还是我创建的job/xfrm 文件夹?
有没有办法可以将其更改为指向特定文件夹?
我在 Windows XP 中运行 spoon.bat
。
【问题讨论】:
【参考方案1】:Internal.Job.Filename.Directory
仅在不使用存储库时设置,并且会自动设置。不能手动设置。
如何不使用存储库?
当您启动 Spoon 时,您会看到一个询问存储库的对话框。只需使用取消关闭此对话框即可!
我花了一段时间才找到这个:我想知道为什么Internal.Job.Filename.Directory
总是空的。存储库是原因。
记录在这里:http://jira.pentaho.com/browse/PDI-7434
【讨论】:
【参考方案2】:Internal.Job.Filename.Directory 是一个始终可用的内部变量。它指向作业所在的目录。
您可以找到更多信息here。
【讨论】:
Errm,我认为如果您使用的是数据库或企业存储库,我不认为这是设置的。【参考方案3】:此变量现在在版本 7 及更高版本中已弃用。您应该使用 Internal.Entry.Current.Directory 并且无论是否存储库都可以使用,因此您可以构建更多可移植的代码。
【讨论】:
【参考方案4】:Internal.Job.Filename.Directory 是kettle 环境变量,它指向磁盘上作业的位置。
【讨论】:
【参考方案5】:要设置变量 Internal.Job.Filename.Directory 的值,您需要在此启动 Job 方式:
String filename="path_filename";
KettleEnvironment.init();
JobMeta jobMeta = new JobMeta(filename, null);
Job job = new Job(null, jobMeta);
job.start();
job.waitUntilFinished();
【讨论】:
【参考方案6】:这是您当前工作所在文件夹的变量。 如果您不使用存储库,那么您需要指定转换的位置。
为了使其更灵活,您可以将作业和转换放在同一个文件夹中 然后您可以使用 Internal.Job.Filename.Directory。
所以如果你的转换被称为:my.ktr 然后要在作业中调用它,您可以通过 Internal.Job.Filename.Directory/my.ktr
指向它您可以在我的课程中了解更多信息:pentaho tutorial
【讨论】:
以上是关于Kettle Internal.Job.Filename.Directory的主要内容,如果未能解决你的问题,请参考以下文章