【发布时间】:2015-05-21 07:18:50
【问题描述】:
我正在尝试使用 PDI (Kettle) 将某个 .CSV 文件导入我的数据库。
通常这很容易,因为您只需将CSV file input 步骤与Table output 步骤链接起来就可以了。但是,问题是我不知道要提前导入哪个文件,就像在 PDI 中执行作业/转换之前一样。
那是因为我的导入文件夹中有很多文件,它们的文件名格式都相同:KeyDate_Filename_YYYYMMDD.CSV
我们的想法是为给定的关键日期导入具有最新 YYYYMMDD 的文件。
我的理论实现方法是:
- 在 PDI 中将给定的关键日期作为参数提供(已经完成)
- 读取存储在导入文件夹中的所有文件的名称
- 过滤给定关键日期的所述文件名
- 比较剩余文件的YYYYMMDD,选择最新的
- 在
CSV file input步骤中使用选定的文件名作为参数(已经完成) - 通过
Table output步骤导入数据(已完成)
不幸的是,我对 PDI 还很陌生,对于如何实施大胆的部分,或者这种方法作为一个整体是否可行,并没有真正令人信服的想法。
有人能想出办法来完成这项工作吗?感谢任何反馈
编辑:忘记提及我使用的是 PDI 3.2.6。
在 4.x.x 中,我可以简单地使用用户定义的 Java 类来完成这项工作:/
【问题讨论】:
标签: pentaho etl kettle data-integration pdi