2014-12-22 1 views
2

나는 mongo와 함께 spong과 scala를 연결하기 위해 mongo hadoop connector를 사용하고있다.스파크 및 몽고 하둡 커넥터를 사용하여 몽고 컬렉션의 여러 필드를 업데이트하는 방법은 무엇입니까?

mongo 및 spark를 사용하여 여러 가지 mongo collection 값을 업데이트 (upsert)하고 싶습니다.

나는 지금은 스파크와 몽고의 하둡 커넥터를 사용하여 컬렉션을 업데이트 할 객체 위에 어떻게 사용합니까

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) 

following--를 시도?

+0

가능한 중복 http://stackoverflow.com/ questions/26526717/update-collection-in-mongodb-via-apache-spark-using-mongo-hadoop-connector) –

답변

0

는 여기를 참조하십시오 https://github.com/mongodb/mongo-hadoop/wiki/Spark-Usage

사용 MongoUpdateWritable을. 다음 MongoUpdateWritable의 RDD은 (쿼리, 업데이트, upsert는, multiupdate가 교체)를 만들

updates.map(f =>(null,f)).saveAsNewAPIHadoopFile(
     "file:///this-is-completely-unused", 
     classOf[Object], 
     classOf[MongoUpdateWritable], 
     classOf[MongoOutputFormat[Object, MongoUpdateWritable]], 
     outputConfig) 
[몽고 - 하둡 커넥터를 사용하여 아파치 스파크를 통해 MongoDB의에서 업데이트 모음] (의