用火花查询mongodb

时间:2017-04-11 13:50:55

标签: mongodb apache-spark

我将MongoDB连接到Spark,我想使用查询加载数据。

df = sqlContext.read.format("com.mongodb.spark.sql").options(collection='test', query = {'name' :'jack'}).load()
df.show()

但是它将整个系列归还给我。如何在Spark中重现与此查询db.test.find({'name':'jack'})相同的内容?

1 个答案:

答案 0 :(得分:2)

您可以使用filterwhere来指定条件:

from pyspark.sql.functions import col

df.filter(col("name") == "jack")

它将转换为aggregation pipeline

  

当使用带有DataFrames或Spark SQL的过滤器时,底层的Mongo Connector代码会构建一个聚合管道,以便在将其发送到Spark之前过滤MongoDB中的数据。