小编Sid*_*Sid的帖子

阅读大型mongodb数据

我有一个java应用程序需要从MongoDB 3.2读取大量数据并将其传输到Hadoop.

该批次应用程序每4小时运行6次,每天6次.

数据规格:

  • 文件:每次80000(每4小时一次)
  • 尺寸:3gb

目前我正在使用MongoTemplateMorphia来访问MongoDB.但是,在使用以下内容处理此数据时,我收到OOM异常:

List<MYClass> datalist = datasource.getCollection("mycollection").find().asList();
Run Code Online (Sandbox Code Playgroud)

读取此数据并填充到Hadoop的最佳方法是什么?

  • MongoTemplate::Stream() 并逐一写入Hadoop?
  • batchSize(someLimit) 并将整批编写到Hadoop?
  • Cursor.batch() 并逐个写入hdfs?

java hadoop mongodb morphia

5
推荐指数
1
解决办法
1687
查看次数

标签 统计

hadoop ×1

java ×1

mongodb ×1

morphia ×1