mongodb - spark-mongodb库中是否有更新+推送支持?

标签 mongodb hadoop apache-spark apache-spark-sql spark-dataframe

我想使用spark在mongodb中现有文档的嵌入字段中插入新条目。

示例

Blog {  
    id:"001"  
    title:"This is a test blog",  
    content:"...."  
    comments:[{title:"comment1",content:".."},{title:"comment2",content:"..."}]      
}

我想做什么
db.blogs.update({id:"001"}, {$push:{comments:{title:"commentX",content:".."}}});

这个图书馆目前有可能吗?如果不是,请您指出正确的方向。

提前致谢

最佳答案

我可以使用Casbah库中的Spark-mongoDb进行所需的操作。

import java.sql.Timestamp
import java.util.Date

import com.mongodb.casbah.MongoClient
import com.mongodb.casbah.commons.MongoDBObject
import com.mongodb.casbah.query.Imports._

object TestCasbah {

  def main(args: Array[String]) {
    val mongoClient = MongoClient("172.18.96.45", 27017)
    val db = mongoClient("agentCallRecord")
    val coll = db("CallDetails")
    val query = MongoDBObject("agentId" -> "agent_1")
    val callRatingMongoObject = MongoDBObject("audioId" -> 12351,"startTime" -> new Timestamp(new Date().getTime).toString, "endTime" -> new Timestamp(new Date().getTime).toString, "totalScore" -> 1, "sentiment" -> "NEGATIVE")
    val update = $push("callRating" -> callRatingMongoObject)
    coll.update(query, update)
  }
}

关于mongodb - spark-mongodb库中是否有更新+推送支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36867983/

相关文章:

apache-spark - 在 spark SQL/Hive QL 中,如何选择作为保留关键字的列

c# - 从遗留 UUID 迁移到标准 UUID

javascript - 仅使用几个关键字在 mongodb 中搜索

sql - hive 喜欢 [0-9]

java - getstrings方法hadoop中的空指针异常

amazon-web-services - 使用 AWS glue 合并多个 Parquet 文件并在 s3 中创建更大的 Parquet 文件

python - 集群上的 Pandas 和 Spark

mongodb - Grails 2 和 mongodb 不工作

javascript - 使用 Javascript 在 MongoDB 中执行带有希腊字符的查询不返回任何结果

exception - 清理失败的 map