【问题标题】:How can I fetch a dynamic file from FTP server-generated every day?如何从每天生成的 FTP 服务器获取动态文件?
【发布时间】:2020-07-28 12:51:43
【问题描述】:

每天都有交易输入 CSV 文件来自 FTP 位置。我需要阅读这些输入文件并在每日批量执行时处理它们。文件的名称每天都保持不变,但日期每天都会附加在文件名的末尾,
例如:

Day1
    General_Ledger1_2020-07-01,
    General_Ledger2_2020-07-01,
    General_Ledger3_2020-07-01,
    General_Ledger4_2020-07-01,
    General_Ledger5_2020-07-01
    Day2
    General_Ledger1_2020-07-02,
    General_Ledger2_2020-07-02,
    General_Ledger3_2020-07-02,
    General_Ledger4_2020-07-02,
    General_Ledger5_2020-07-02

如何在每次作业运行时将此日期信息附加到输入文件名?

【问题讨论】:

    标签: mosaic-decisions


    【解决方案1】:

    我之前遇到过类似的问题,可以在文件路径中使用计算参数来解决。在这里,您可以创建将动态检索文件的表达式。

    示例,

     CONCAT( UPPER(lit('$(Prefix)')), ADD_DAYS( TODATE(lit('$(currentTime)'), 'yyyy-mm-dd'), 'yyyy-mm-dd' ,-1),'.csv')
    

    断句:

    • $(currentTime) :此系统参数将获取当前日期(这还将包括时间戳)。

    • (TODATE(lit('$(currentTime)'), 'yyyy-mm-dd')TODATE 将仅从整个时间戳中获取日期,格式为 ‘yyyy-mm-dd’

    • ADD_DAYS(TODATE(lit('$(currentTime)'), 'yyyy-mm-dd'), 'yyyy-mm-dd' ,-1)ADD_DAYS 将在此处将-1 添加到检索的日期。 TODATE()。因此(2020-04-24) + (-1) 会给我们2020-04-23

    • $(Prefix)$(Prefix) 将是用户在运行时提供的字符串类型的用户定义输入参数——因为 前缀将始终是动态的。

    • CONCAT() :最后将所有结果结合起来形成准确的文件路径CONCAT()就可以使用了。也在一些静态之间 添加字符串,因为对于要读取的每个文件,它始终是固定的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多