带MongoDB错误的Spark
我正在学习在MongoDB中使用Spark,但我遇到了一个问题,我认为这与我使用Spark的方式有关,因为这对我来说毫无意义 我的概念测试是,我想按某个字段过滤包含大约800K文档的集合 我的代码非常简单。连接到my MongoDB,应用过滤器转换,然后计算元素:带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
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