4

我是 Pentaho Kettle 的新手,我想知道它Internal.Job.Filename.Directory是什么?

  • 是我的SPoon.bat文件夹,还是我创建的 job/xfrm 文件夹?
  • 有没有办法可以将其更改为指向特定文件夹?

spoon.bat在 Windows XP 中运行。

4

6 回答 6

6

Internal.Job.Filename.Directory在您不使用存储库时设置,并且会自动设置。您不能手动设置它。

如何不使用存储库?

当您启动 Spoon 时,您会看到一个对话框,要求您提供存储库。只需使用取消关闭此对话框,就可以了!

我花了一段时间才找到这个:我想知道为什么Internal.Job.Filename.Directory总是空的。存储库是原因。

它记录在这里:http: //jira.pentaho.com/browse/PDI-7434

于 2013-01-10T10:28:16.050 回答
5

Internal.Job.Filename.Directory 是一个始终可用的内部变量。它指向作业所在的目录。

您可以在此处找到更多信息。

于 2011-04-14T14:28:01.397 回答
1

现在在版本 7 和更新版本中不推荐使用此变量。您应该使用 Internal.Entry.Current.Directory 并且无论是否存储库都可以使用,因此您可以构建更多可移植的代码。

于 2017-03-16T14:25:40.540 回答
0

这是您当前工作所在文件夹的变量。如果您不使用存储库,那么您需要指定转换的位置。

为了使其更灵活,您可以将作业和转换放在同一个文件夹中,然后您可以使用 Internal.Job.Filename.Directory。

因此,如果您的转换被称为:my.ktr,那么要在作业中调用它,您可以通过 {Internal.Job.Filename.Directory}/my.ktr 指向它

您可以在我的课程中了解更多信息:pentaho 教程

于 2014-11-29T12:20:08.630 回答
0

Internal.Job.Filename.Directory 是kettle 环境变量,它指向磁盘上作业的位置。

于 2012-08-07T12:08:48.277 回答
0

要将值设置为变量 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();

于 2014-04-07T10:01:57.673 回答