【问题标题】:spark hive and datanucleusspark hive 和 datanucleus
【发布时间】:2015-04-23 08:32:30
【问题描述】:

在一个 java spark (&spring) 项目中,我使用了 SparkHiveContext 并在执行时遇到了初始错误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-coredatanucleus-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 之前效果很好
  • 我没有安装 hive,但我们告诉我没有必要
  • 我使用spark hive来管理一些hdfs文件的sql接口,主要是spark sql(1.1.1)不够好。

【问题讨论】:

    标签: java maven hive apache-spark


    【解决方案1】:

    嗯,这真的很愚蠢:我对所有 datanucleus 依赖项使用了 3.2.1 版本,而 spark 提供的 datanucleus-core 实际上是 3.2.2 :-\

    不管怎样,我在路上做了this very simple prototype of spring webapp using spark-hive。如果有人有兴趣。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-10
      • 1970-01-01
      • 1970-01-01
      • 2016-12-13
      • 2019-09-18
      • 2018-10-11
      • 1970-01-01
      相关资源
      最近更新 更多