我正在将apache camel视为最适合以CSV开头的ETL流程。
此文件将包含数百万行,且列数不正确(~500)
到目前为止,我已经看了几个不同的选项 - 使用CSV data format和camel-bindy进行解组,但没有完全按照我的预期进行。
csv数据格式解析每个行,然后将列表列表传递给下一个处理器 - 因此,如果有数百万行选项,它将会耗尽内存/堆空间。< / p>
bindy方法看起来很棒!直到我解决了我需要将csv中的每个列映射到pojo,其中99%我不感兴趣。
所以问题是 - 我是否需要逐行编写一个明确的处理器或组件,它将处理每行的转换并将其传递给路径中的下一个(),或者是否有另一种选择我是还没遇到过?
答案 0 :(得分:0)
稀释,
前一段时间问过一个非常相似的问题(在第一次搜索时没有找到它)
Best strategy for processing large CSV files in Apache Camel
答案是拆分器并输出输出。