Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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
带MongoDB错误的Spark_Mongodb_Hadoop_Apache Spark - Fatal编程技术网

带MongoDB错误的Spark

带MongoDB错误的Spark,mongodb,hadoop,apache-spark,Mongodb,Hadoop,Apache Spark,我正在学习在MongoDB中使用Spark,但我遇到了一个问题,我认为这与我使用Spark的方式有关,因为这对我来说毫无意义 我的概念测试是,我想按某个字段过滤包含大约800K文档的集合 我的代码非常简单。连接到my MongoDB,应用过滤器转换,然后计算元素: JavaSparkContext sc = new JavaSparkContext("local[2]", "Spark Test"); Configuration config = new Configuration(); co

我正在学习在MongoDB中使用Spark,但我遇到了一个问题,我认为这与我使用Spark的方式有关,因为这对我来说毫无意义

我的概念测试是,我想按某个字段过滤包含大约800K文档的集合

我的代码非常简单。连接到my MongoDB,应用过滤器转换,然后计算元素:

JavaSparkContext sc = new JavaSparkContext("local[2]", "Spark Test");

Configuration config = new Configuration();
config.set("mongo.input.uri", "mongodb://127.0.0.1:27017/myDB.myCollection");

JavaPairRDD<Object, BSONObject> mongoRDD = sc.newAPIHadoopRDD(config, com.mongodb.hadoop.MongoInputFormat.class, Object.class, BSONObject.class);

long numberOfFilteredElements = mongoRDD.filter(myCollectionDocument -> myCollectionDocument._2().get("site").equals("marfeel.com")).count();

System.out.format("Filtered collection size: %d%n", numberOfFilteredElements);
我已经搜索了很多关于这个错误的信息,但对我来说没有任何意义。我得出的结论是,我的代码有问题,我有一些库版本不兼容,或者我真正的问题是我把Spark的整个概念搞错了,上面的代码根本没有任何意义

我正在使用以下库版本:

org.apache.spark.spark-core_2.11->1.2.0

org.apache.hadoop.hadoop-client->2.4.1

org.mongodb.mongo-hadoop.mongo-hadoop-core->1.3.1


org.mongodb.mongo-java-driver->2.13.0-rc1

与论坛网站不同,我们不使用“感谢”或“感谢任何帮助”或签名。请参阅“.您是如何修复错误的?如果您使用的是Spark mongo hadoop连接器,那么连接器至少需要3.2.1版的驱动程序“uber”jar。请参阅
ERROR Executor: Exception in task 990.0 in stage 0.0 (TID 990) java.lang.OutOfMemoryError: unable to create new native thread