2015-04-23 102 views
1

在Java火花(&春天)项目,我用SparkHiveContext,就有了一个初始误差ClassNotFoundException: org.datanucleus.api.jdo.JDOPersistenceManagerFactory做时:火花蜂房,DataNucleus将

// sparkHiveContext = new JavaHiveContext(sparkContext); 
// JavaRDD<MyClass> myRdd = ... 
JavaSchemaRDD schema = sparkHiveContext.applySchema(myRdd, MyClass.class); 
schema.registerTempTable("temptable"); 
sparkHiveContext.sql("CREATE TABLE mytable AS SELECT * FROM temptable"); 

所以我添加datanucleus-coredatanucleus-api-jdodatanucleus-rdbms Maven依赖,版本3.2。 1。

但现在我得到错误...NoSuchMethodError: org.datanucleus.FlushOrdered

真的很奇怪的是,我在生成的war WEB-INF/lib的datanucleus-core-3.2.1.jar中找到了这个类。并没有其他的战争瓶颈。

有没有人有一个想法如何发生?

详情:

  • Maven项目
  • 火花1.1.1(与提供范围)
  • 包括$ SPARK_HOME/lib目录/火花组装1.1.1-hadoop2.4.0.jar在servlet容器
  • 使用Maven插件码头运行(即作为servlet容器)
  • 它采用火花蜂房以前行之有效
  • 我没有安装配置单元,但我们告诉我没有必要
  • 我使用spark hive来管理一些hdfs文件的sql接口,主要是因为spark sql(1.1.1)不够好。

回答