繁体   English   中英

火花蜂巢和数据核

[英]spark hive and datanucleus

在一个java spark(&spring)项目中,我使用SparkHiveContext并在执行以下ClassNotFoundException: org.datanucleus.api.jdo.JDOPersistenceManagerFactory时得到了一个初始错误ClassNotFoundException: org.datanucleus.api.jdo.JDOPersistenceManagerFactory

// 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-jdodatanucleus-rdbms Maven依赖,3.2.1版本。

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

真正奇怪的是,我确实在生成的战争WEB-INF / lib中的datanucleus-core-3.2.1.jar中找到了此类。 而且没有其他战争之罐。

有谁知道这将如何发生?

细节:

  • Maven项目
  • Spark 1.1.1(具有提供的范围)
  • 将$ SPARK_HOME / lib / spark-assembly-1.1.1-hadoop2.4.0.jar包含到Servlet容器中
  • 使用Maven Jetty插件运行(即作为servlet容器)
  • 在使用spark-hive之前效果很好
  • 我没有安装蜂巢,但是我们告诉我没有必要
  • 我使用spark配置单元来管理一些hdfs文件的sql接口,主要是因为spark sql(1.1.1)不够好。

好吧,这确实很愚蠢:我对所有数据核依赖项都使用了3.2.1版,而spark提供的数据核核心实际上是3.2.2:-\\

无论如何,在我的路上,我使用spark-hive制作了这个非常简单的spring webapp原型 如果有人感兴趣。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM