我使用mongodbscala驱动程序试图访问mongodb集合,并将其中包含的文档“下载”到json文件中。集合中文档的数量是以100k为单位的,但是在python中类似的任务(下载、创建pd.dataframe并存储为csv)需要10分钟,而在sparkshell中尝试这样做则需要一个多小时。我感觉到我做错了什么,但不知道是什么。
val documents = db.getCollection("collectionName").find().toFuture()
documents on Complete {
case Success(docs) => {
// without partitioning tasks would become too large - resulting in most docs being written as empty
val rdd = sc.parallelize(docs, 1000)
val ds = spark.read.json(rdd.map(_.toJson).toDS)
ds.write.mode("overwrite").json("/path/to/data/data.json")
}
case Failure(e) => println("Error")
}
有没有更好的办法?
暂无答案!
目前还没有任何答案,快来回答吧!