使用Java的Spark-mongdb数据
我已经跟踪了这里的文档项目,但我的代码在打印Check1后就卡住了。我只是不知道我做错了什么使用Java的Spark-mongdb数据,java,mongodb,apache-spark,pyspark,Java,Mongodb,Apache Spark,Pyspark,我已经跟踪了这里的文档项目,但我的代码在打印Check1后就卡住了。我只是不知道我做错了什么 我的pom文件如下: <dependency> <groupId>com.stratio.datasource</groupId> <artifactId>spark-mongodb_2.10</artifactId> <version>0.11.2</version>
我的pom文件如下:
<dependency>
<groupId>com.stratio.datasource</groupId>
<artifactId>spark-mongodb_2.10</artifactId>
<version>0.11.2</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>1.6.1</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.10</artifactId>
<version>1.6.1</version>
<type>jar</type>
</dependency>
com.stratio.datasource
spark-mongodb_2.11
0.11.1
罐子
org.apache.spark
spark-sql_2.11
1.5.2
罐子
org.apache.spark
spark-core_2.11
1.5.2
罐子
我已经检查了依赖关系树,那里的一切似乎都很好 您报告的是已知的bug,该bug已在版本中解决 这一错误是一些阿克卡内部参与者没有被终止的原因。 再加上默认的Akka设置使actor系统非守护系统,应用程序无法关闭 您有两种解决问题的方法:
- 将您的版本升级到0.11.2
- 将项目
文件夹设置下的resources
文件包含到actor system daemonic中。即具有以下内容: 阿克卡{ daemonic=on }application.conf
- 我将回答我的问题,希望它能帮助别人
我终于找到了答案。这些spark库最糟糕的一点是,库版本之间存在巨大差异,并且其中许多库彼此不兼容:
public class TestClass {
JavaSparkContext sc = new JavaSparkContext("local[*]", "test spark-mongodb java");
SQLContext sqlContext = new org.apache.spark.sql.SQLContext(sc);
Map options = new HashMap();
options.put("host", "localhost:27017");
options.put("database", "test");
options.put("collection", "mycol");
DataFrame df = sqlContext.read().format("com.stratio.datasource.mongodb").options(options).load();
df.registerTempTable("mycol");
sqlContext.sql("SELECT * FROM mycol");
df.show();
}
我的pom文件如下:
<dependency>
<groupId>com.stratio.datasource</groupId>
<artifactId>spark-mongodb_2.10</artifactId>
<version>0.11.2</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>1.6.1</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.10</artifactId>
<version>1.6.1</version>
<type>jar</type>
</dependency>
com.stratio.datasource
spark-mongodb_2.10
0.11.2
罐子
org.apache.spark
spark-core_2.10
1.6.1
罐子
org.apache.spark
spark-sql_2.10
1.6.1
罐子
您关于使用0.11.2的建议对我有所帮助,但我还必须做更多的更改。@user3901172当然还有更多的更改!我刚刚指出了你的问题所在。我在测试您的代码时也做了这些更改。当使用StackOverflow时,作为一条建议:不要期望人们直接给出问题的最终解决方案,而是指出问题并提出建议。这样你就可以省下很多反对票,在一个对这种行为反应强烈的网络中让人们恼火。谢谢这些关于Stackoverflow的建议。再次感谢你的帮助,没有它,这是不可能的。啦啦队
<dependency>
<groupId>com.stratio.datasource</groupId>
<artifactId>spark-mongodb_2.10</artifactId>
<version>0.11.2</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>1.6.1</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.10</artifactId>
<version>1.6.1</version>
<type>jar</type>
</dependency>