2014-12-22 59 views
2

我正在使用mongo hadoop連接器將mongo與spark和scala連接起來。如何使用spark和mongo Hadoop連接器更新mongo集合中的多個字段?

我想使用mongo和spark更新(upsert)mongo集合的多個值。

我試圖following--

val query = new BasicBSONObject() 
query.append("customerId", customerId) 

val update = new BasicBSONObject() 
val bson = new BasicBSONObject() 
bson.put("minimumUtilization", some value) 
bson.put("maximumUtilization", some value) 
bson.put("averageUtilization", some value) 
bson.put("customerId", customerId) 

現在我該怎樣使用上述目的使用火花和蒙戈的Hadoop連接器更新的集合?

+0

可能重複http://stackoverflow.com/問題/ 26526717 /更新收集合的mongodb-通Apache的火花使用-蒙戈-Hadoop的連接器) –

回答

0

在這裏看到:https://github.com/mongodb/mongo-hadoop/wiki/Spark-Usage

使用MongoUpdateWritable。 創建MongoUpdateWritable的RDD(查詢,更新,更新插入,multiupdate,替換)然後

updates.map(f =>(null,f)).saveAsNewAPIHadoopFile(
     "file:///this-is-completely-unused", 
     classOf[Object], 
     classOf[MongoUpdateWritable], 
     classOf[MongoOutputFormat[Object, MongoUpdateWritable]], 
     outputConfig) 
[使用蒙戈-Hadoop的連接器通過Apache火花更新集合MongoDB中(的
相關問題