Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用复合密钥访问带有Spark DataFrame的MongoDB集合_Mongodb_Scala_Apache Spark - Fatal编程技术网

使用复合密钥访问带有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)