如何使用适用于 Spark 的 Mongo-Hadoop 连接器删除文档(记录)

Posted

技术标签:

【中文标题】如何使用适用于 Spark 的 Mongo-Hadoop 连接器删除文档(记录)【英文标题】:How to delete documents(records) with Mongo-Hadoop connector for Spark 【发布时间】:2016-09-14 00:02:05 【问题描述】:

我正在使用 Mongo-Hadoop 连接器来处理 Spark 和 MongoDB。我想从 MongoDB 中删除 RDD 中的文档,看起来有一个 MongoUpdateWritable 来支持文档更新。有没有办法使用 Mongo-Hadoop 连接器进行删除?

谢谢

【问题讨论】:

【参考方案1】:

如果您只想删除 RDD 中的记录,请使用 Spark API 的功能,例如 map、reduce、filter...

如果您想稍后保存结果,请使用 MongoUpdateWriteble。

查看基础知识:Mongo-Hadoop-Spark

【讨论】:

感谢@Cristu 的回复。我想要做的是从MongoDB中删除RDD中包含的文档(RDD中的BSON对象用作查询以查找MongoDB中的文档)。看起来 Mongo-Hadoop-Spark 不支持这个。你的意思是我自己写删除逻辑? 不客气!如果您提供代码示例,也许我可以在您需要时帮助您编码。 感谢@Cristu,我可以使用 Mongo-Hadoop-Spark 进行文档插入和更新,但我没有找到如何删除它。所以我问我是否需要写我自己的删除逻辑。

以上是关于如何使用适用于 Spark 的 Mongo-Hadoop 连接器删除文档(记录)的主要内容,如果未能解决你的问题,请参考以下文章

Spark 回归仅适用于一项功能

spark-submit 适用于 Python 程序,但 pyspark 不起作用

请简要描述一下hadoop,spark,mpi三种计算框架的特点以及分别适用于啥样的场景

如何将数据从 Spark SQL 导出到 CSV

如何使用 spark DF 或 DS 读取“.gz”压缩文件?

如何学好spark大数据-从入门到上手