mule4 - Mule 4:批处理和流式处理:如何在没有 Java 内存堆问题的情况下处理百万以上的记录?
问题描述
场景:假设 CSV 文件包含 100 万条记录。使用 Mule 4 批处理来处理这个文件,但我们不想读取内存中的整个文件,因为它会给我们带来内存不足的问题。所以我们要使用 File 连接器的 Streaming 能力。
试过的方法:
- 创建一个 Java 类并使用 InputBufferStream 将传入文件拆分为新的 csv 文件,每个文件有 1000 条记录
- 将这些新的较小文件存储在另一个文件夹中,轮询此文件夹并读取这些较小的 csv 文件
- 批量处理较小的文件。
- 完成处理后,删除较小的文件。
需要帮助:我们如何使用Mule 4 CSV 文件流概念来跳过 Java 文件拆分?
解决方案
推荐阅读
- apache - 在单独的服务器上托管特定的站点路径
- c++ - C++ 无法正确读取文件
- unix - Unix 在 6T 磁盘上查找需要 14 小时:csh
- python - 如何在 pandas python 的数据框中插入行?
- pip - 机器人框架 pip 安装到不同的目录
- java - 我如何编写基于用户输入的构造函数?
- sql - SQL 左连接 - 在较小的表上变慢?
- reactjs - 通过 this.props 访问 Redux State 会抛出“Cannot read property name of undefined”。
- c++ - 从行读取时清除 Ifstream 文件
- google-analytics - 增强型电子商务:跟踪渠道中的结帐行为