在Pyspark中应用Mongo的查找查询。

huangapple go评论65阅读模式
英文:

Applying find query on mongo from pyspark

问题

我想使用查找操作来查询MongoDB,而不是加载整个集合,然后应用于PySpark过滤器,这在大多数文档中都有提到。有没有办法做到这一点?

我正在寻找一种查询MongoDB的方法,而不是将整个Mongo集合加载到PySpark中。

英文:

I want to query mongo db using a find operation instead of loading the entire collection and then applying pyspark filters which is mentioned in most of the documentation. Is there any way to do this?

I am looking for something to query mongo, rather than loading the entire mongo collection into pyspark

答案1

得分: 1

这可以通过使用"pipeline"选项来完成:

df = spark.read \
    .format("com.mongodb.spark.sql.DefaultSource") \
    .option("uri", "mongodb://<主机>:<端口>/<数据库>.<集合>") \
    .option("aggregation.pipeline", "[{'$match': {<查询>}}]") \
    .load()
英文:

This can be done using the option of "pipeline"

df = spark.read \
    .format(&quot;com.mongodb.spark.sql.DefaultSource&quot;) \
    .option(&quot;uri&quot;, &quot;mongodb://&lt;host&gt;:&lt;port&gt;/&lt;database&gt;.&lt;collection&gt;&quot;) \
    .option(&quot;aggregation.pipeline&quot;, &quot;[{&#39;$match&#39;: {&lt;query&gt;}}]&quot;) \
    .load()

huangapple
  • 本文由 发表于 2023年7月5日 00:39:20
  • 转载请务必保留本文链接:https://go.coder-hub.com/76614521.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定