我有一个java应用程序需要从MongoDB 3.2读取大量数据并将其传输到Hadoop.
该批次应用程序每4小时运行6次,每天6次.
数据规格:
目前我正在使用MongoTemplate和Morphia来访问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?