pentaho 勺子/PDI:如何创建具有当前日期的文件夹?

Posted

技术标签:

【中文标题】pentaho 勺子/PDI:如何创建具有当前日期的文件夹?【英文标题】:pentaho spoon/PDI : how to create a folder with current date? 【发布时间】:2019-06-03 08:40:01 【问题描述】:

正如标题所说,我想知道如何创建一个具有当前日期(dd/mm/yyyy)的文件夹(在 Job 上)。我看过两个答案,但它们似乎很长,例如这个: pentaho create archive folder with MM-YYYY

有人有想法吗?谢谢:)

【问题讨论】:

【参考方案1】:

这个答案也是 2014 年的,更好和更新版本的 PDI 已经出来了,这个答案使任务过于复杂。

虽然您确实需要在 KTR 中创建文件夹名称,但您只需使用“创建文件夹”作业步骤即可。我很确定你不能在你设置它开始的同一个 JOB/KTR 中设置和使用变量。所以你需要一个 KTR 来生成一个 Date 并将它作为字符串发送给一个 JOB。

您的 KTR 应该是这样,以创建格式为 YYYY-MM-DD 的字符串日期

你的工作是这样的

另外请记住,您不能使用“/”创建文件夹,因此您必须使用其他模式。

这是一种非常简单的方法,还有其他方法可以通过使用变量来自动创建文件夹。

编辑:更正了 JOB 图像,第一个 KTR 需要实际运行才能设置变量,抱歉造成混淆。

【讨论】:

非常感谢您的回复!我做了和你完全相同的事情,但是,认为它不考虑变量“今天”,因为在错误消息中,它说“文件夹 [D:\pentaho\data\archive] 存在,失败。”。我按照您的说明设置了作业参数,在创建文件夹步骤中,我将“D:\pentaho\data\archive\$today”作为文件夹名称,并且在 KTR 上也做了同样的事情。在生成行步骤中,我没有在字段上添加任何内容,对吗? 啊,对不起......我做错了...... KTR 需要实际运行才能设置变量.. 愚蠢的我。我会更正答案。 是的,您不需要在 Generate rows 上设置任何内容,只需将其更改为 Generate 1 row 而不是 10,否则 Set Variables 步骤将失败。 完美运行!!!!非常感谢,一直在寻找解决方案几个小时!非常感谢:))))))

以上是关于pentaho 勺子/PDI:如何创建具有当前日期的文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

使用 pentaho 勺子每天更新数据库中的数据

Pentaho 数据集成 (PDI):将布尔值从源插入到目标

pentaho 勺子 - 更改创建的目录/文件的所有者

如何在 Pentaho 勺子中连接字符串?

如何使用Pentaho勺子将数据从MySQL数据库推送到Facebook网页

Pentaho PDI - 从 MongoDB 读取数据