【问题标题】:Read and aggregate CSV files on Mule 4在 Mule 4 上读取和聚合 CSV 文件
【发布时间】:2022-01-03 23:51:52
【问题描述】:

我有几个格式如下的 CSV 文件:

ID;NOTE;FISCYEAR;MONTH;CURRENCY;CURRENCY_2;NUMBERS;NUMBERS_2;CASH
177204930;"Something ""relevant"" date 01.03.07";2021;1;EUR;599;599000;599;"599,00 EUR"
175618258;"Address; 48ct xpto.";2021;1;EUR;1;1000;0.35;"0,35 EUR"

我必须读取它们并将它们聚合到一个有效负载中以便稍后处理(使用batch)。我必须阅读大约 50 个文件,每个文件大约 33MB。

但是,File List Operator 没有outputMimeType 属性,如On New or Updated File,我可以在MIME Type 选项卡中配置separator=; escape="streaming=true。我不能使用这个,因为我每次只能读取一个文件。

我该如何解决这个问题?

【问题讨论】:

    标签: csv file mule mule4


    【解决方案1】:

    尝试使用 set variable 将每个文件的有效负载 - 这是内容的惰性流 - 分配给一个变量,并在同一操作中设置 mimeType 属性。

    <file:read>...
    <foreach>
       <set-variable variableName="contents" value="#[payload]" mimeType="application/csv..." />
       <!-- process the file contents here as vars.contents -->
    

    【讨论】:

    • 像魅力一样工作 :) 我将 foreach 更改为 parallel-foreach 以提高性能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    相关资源
    最近更新 更多