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的主要内容,如果未能解决你的问题,请参考以下文章

如何安装kettle

kettle庖丁解牛第2篇之初识kettle

kettle导入的数据变成?

kettle问题

ODI与kettle的区别

kettle数据同步如何更新