我正在尝试使用 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.xx 中,我可以简单地使用用户定义的 Java 类来完成这项工作:/