我在这里跟踪了文档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 :(得分:2)
您报告的内容是已知错误,已在0.11.2版本中解决。
这个错误是一些内部Akka演员没有被终止的原因。 结合默认的Akka设置使actor系统非守护进程阻止了应用程序关闭。
您有两种方法可以解决问题:
将项目application.conf
文件夹设置下的resources
文件包含在actor系统守护程序中。也就是说,具有以下内容:
akka {
daemonic = on
}
答案 1 :(得分:0)
我将回答我的问题,希望它可以帮助某人。
我终于设法解决了这个问题。这些火花库最糟糕的是库版本之间存在巨大差异,其中许多版本彼此不兼容:
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>