Spark-mongo 连接器 SparkR 从两个集合中读取

Spark-mongo connector SparkR read from two collections

在 Spark.mongo 中,连接器在 mongo、java 中有多种语言可供查询,scala 提供了有关查询不同集合的更多信息,如下所示:

./bin/spark-shell --conf "spark.mongodb.input.uri=mongodb://127.0.0.1/test.coll 

然后在代码中您可以指定另一个集合来设置配置:

sc.loadFromMongoDB(ReadConfig(Map("uri" -> "mongodb://example.com/database.collection")))

但我不能用 SparkR 做到这一点,SparkR 文档表明您可以添加 shell:

 ./bin/sparkR --conf "spark.mongodb.input.uri=mongodb://cm/database.collection1"

但我不知道如何通过代码指定另一个集合来查询两个不同的集合。

¿如何在 SparkR 中指定另一个 mongo 集合?

您可以在创建数据框时设置任何 configuration options 例如:

# Read using the spark config
df <- read.df(sqlContext, source = "com.mongodb.spark.sql.DefaultSource")

# Read using the passed in uri config
df1 <- read.df(sqlContext, source = "com.mongodb.spark.sql.DefaultSource", uri = "mongodb://example.com/database.collection1")

事实上,您根本不需要使用 Spark 配置 - 它是可选的,但如果您不需要,则必须至少提供 uridatabasecollection 信息。