0

我需要处理来自 MongoDb 的数百万条记录,并放置一个 ETL 管道将这些数据插入 PostgreSQL 数据库。但是,在我尝试过的所有方法中,我不断收到内存堆空间异常。这是我已经尝试过的 -

  1. 尝试使用 tMongoDBInput 连接到 MongoDB,并放置一个 tMap 来处理记录并使用到 PostgreSQL 的连接输出它们。tMap 无法处理。

  2. 尝试将数据加载到 JSON 文件中,然后从文件中读取到 PostgreSQL。数据被加载到 JSON 文件中,但从那里得到了相同的内存异常。

  3. 尝试在设置中为作业增加RAM并再次尝试上述两种方法,仍然没有变化。

我特别想知道是否有任何方法可以流式传输这些数据或批量处理它以解决内存问题。

另外,我知道有一些组件处理 BulkDataLoad。任何人都可以确认这里是否有帮助,因为我想在插入之前处理记录,如果是,请指出正确的文档类型来进行设置。

提前致谢!

4

1 回答 1

0

正如您已经尝试了所有可能性,我可以看到满足此要求的唯一方法是将完成的工作分解为多个子作业或根据关键列或日期列进行增量负载,将其视为一次性活动现在。如果有帮助,请告诉我。

于 2020-11-18T06:52:13.543 回答