【发布时间】:2014-02-11 18:57:04
【问题描述】:
我认为 apache camel 最适合以 CSV 开头的 ETL 流程。
这个文件将有数百万行,并且列数非常多(~500)
到目前为止,我已经研究了几个不同的选项 - 使用 CSV data format 和 camel-bindy 解组,但没有一个完全符合我的预期。
csv 数据格式会解析每一行,然后将列表列表传递给下一个处理器 - 因此使用数百万行选项时,它会因内存/堆空间不足而崩溃。
bindy 方法看起来很棒!在我解决之前,我需要将 csv 中的 每个 列映射到 pojo,其中 99% 我不感兴趣。
所以问题是 - 我是否需要逐行编写显式处理器或组件来处理每行的转换并将其传递给路由中的下一个 to(),或者我是否还有其他选择还没遇到?
【问题讨论】:
-
在处理包含大数据的 XSLX 文件时,我遇到了同样的内存不足问题。然后我想出了一个解决方案,在处理行时重用对象而不是每次都创建新对象。
标签: java csv apache-camel