我已在此处跟进文档 Stratio JAVA spark mongdob项目在这里,但我的代码在打印 Check1 后就卡住了。我只是不明白我做错了什么。
<小时/> JavaSparkContext sc = new JavaSparkContext("local[*]", "test spark-mongodb java");
SQLContext sqlContext = new SQLContext(sc);
Map options = new HashMap();
options.put("host", "host:port");
options.put("database", "database");
options.put("collection", "collectionName");
options.put("credentials", "username,database,password");
System.out.println("Check1");
DataFrame df = sqlContext.read().format("com.stratio.datasource.mongodb").options(options).load();
df.count();
df.show();
我的pom文件如下:
<小时/><dependencies>
<dependency>
<groupId>com.stratio.datasource</groupId>
<artifactId>spark-mongodb_2.11</artifactId>
<version>0.11.1</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>1.5.2</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>1.5.2</version>
<type>jar</type>
</dependency>
</dependencies>
我已经检查了依赖树,那里一切似乎都很好。
最佳答案
您所报告的是已知错误,已在版本 0.11.2 中解决.
此错误是某些内部 Akka actor 未被终止的原因。 再加上默认的 Akka 设置使 actor 系统成为非守护进程,从而阻止了应用程序关闭。
您有两种选择来解决您的问题:
- 将您的版本升级到 0.11.2
在项目
resources
文件夹设置下包含一个application.conf
文件以设置 Actor 系统守护进程。即具有以下内容:阿卡{
守护进程=开启
}
关于java - 使用 Java Spark mongodb 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37793214/