在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-core
datanucleus-api-jdo
和datanucleus-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)不够好。