Mongo Spark Connector非常易于使用,但它似乎无法扩展以读取大数据。
示例代码:
val readConfig = ReadConfig(Map("uri" -> "mongodb://mymongoURI", "database"
"mydb", "collection" -> "mycollection" ))
val rdd = MongoSpark.load(sc, readConfig).withPipeline(Seq(Document.parse("{ $match: { 'dayOfYear': '1'}}")))
val df = rdd.toDF()
我已经使用不同的组合和配置运行上面的示例代码,但Mongo连接器似乎不支持并行读取。任务总是在一个任务节点上执行(我有20个节点集群)。当您想要运行1 TB或更多数据时,这不会起作用。
有人能够解决这个难题吗?或者尝试的方式是错的?