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

时间:2016-08-23 07:57:49

标签: mongodb apache-spark sparkr

在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集合?

1 个答案:

答案 0 :(得分:2)

您可以在创建数据框时设置任何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 Config - 它是可选的,但如果您不这样做,则必须至少提供uri,{{1} }和database信息。