使用复合密钥访问带有Spark DataFrame的MongoDB集合
我尝试在名为使用复合密钥访问带有Spark DataFrame的MongoDB集合,mongodb,scala,apache-spark,Mongodb,Scala,Apache Spark,我尝试在名为test的集合中使用MongoDB搜索产生的数据帧。以下代码与单列一起用于执行搜索: val dfMongo = MongoSpark.load(sparkSession, confMongoDb.getReadConfig("test")) 然后,构建一个数组以选择相应的ID值: val colToComp = dfUsedForSearch .select("ID") .map(r =>{r.getString(0)})
test
的集合中使用MongoDB搜索产生的数据帧。以下代码与单列一起用于执行搜索:
val dfMongo = MongoSpark.load(sparkSession, confMongoDb.getReadConfig("test"))
然后,构建一个数组以选择相应的ID
值:
val colToComp = dfUsedForSearch
.select("ID")
.map(r =>{r.getString(0)})
.collect()
最后,在MongoDB集合中搜索ID
,方法是:
val dfFilter = dfMongo.filter(dfMongo.col("ID").isInCollection(colToComp))
.select("ID")
如何使用复合键进行此类搜索,例如:(ID\u a、ID\u B、ID\u C)