【问题标题】:Spark Hive reporting java.lang.NoSuchMethodError: org.apache.hadoop.hive.metastore.api.Table.setTableName(Ljava/lang/String;)VSpark Hive 报告 java.lang.NoSuchMethodError: org.apache.hadoop.hive.metastore.api.Table.setTableName(Ljava/lang/String;)V
【发布时间】:2018-01-12 02:37:08
【问题描述】:

我正在尝试使用 SparkSession 从 Hive 读取数据。

我的代码:

val warehouseLocation = "/user/xx/warehouse"

val spark = SparkSession .builder() .master("本地[*]") .appName("HiveReceiver") .config("spark.sql.warehouse.dir",warehouseLocation) .enableHiveSupport() .getOrCreate()

导入 spark.sql

sql("select * from sparktest.test").show()

spark.stop()

我的版本:

火花:2.1.1

蜂巢:1.2.1

hadoop:2.7.1

但在 IDEA 中运行时会出现一些异常:

线程“主”java.lang.NoSuchMethodError 中的异常: org.apache.hadoop.hive.metastore.api.Table.setTableName(Ljava/lang/String;)V 在 org.apache.spark.sql.hive.MetastoreRelation.(MetastoreRelation.scala:76) 在 org.apache.spark.sql.hive.HiveMetastoreCatalog.lookupRelation(HiveMetastoreCatalog.scala:142) 在 org.apache.spark.sql.hive.HiveSessionCatalog.lookupRelation(HiveSessionCatalog.scala:70) 在 org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$.org$apache$spark$sql$catalyst$analysis$Analyzer$ResolveRelations$$lookupTableFromCatalog(Analyzer.scala:457) 在 org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$$anonfun$apply$8.applyOrElse(Analyzer.scala:479) 在 org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$$anonfun$apply$8.applyOrElse(Analyzer.scala:464) 在 org.apache.spark.sql.catalyst.plans.logical.LogicalPlan$$anonfun$resolveOperators$1.apply(LogicalPlan.scala:61) 在 org.apache.spark.sql.catalyst.plans.logical.LogicalPlan$$anonfun$resolveOperators$1.apply(LogicalPlan.scala:61) 在 org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:70) 在 org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.resolveOperators(LogicalPlan.scala:60) 在 org.apache.spark.sql.catalyst.plans.logical.LogicalPlan$$anonfun$1.apply(LogicalPlan.scala:58) 在 org.apache.spark.sql.catalyst.plans.logical.LogicalPlan$$anonfun$1.apply(LogicalPlan.scala:58) 在 org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$4.apply(TreeNode.scala:307) 在 org.apache.spark.sql.catalyst.trees.TreeNode.mapProductIterator(TreeNode.scala:188) 在 org.apache.spark.sql.catalyst.trees.TreeNode.mapChildren(TreeNode.scala:305) 在 org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.resolveOperators(LogicalPlan.scala:58) 在 org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$.apply(Analyzer.scala:464) 在 org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$.apply(Analyzer.scala:454) 在 org.apache.spark.sql.catalyst.rules.RuleExecutor$$anonfun$execute$1$$anonfun$apply$1.apply(RuleExecutor.scala:85) 在 org.apache.spark.sql.catalyst.rules.RuleExecutor$$anonfun$execute$1$$anonfun$apply$1.apply(RuleExecutor.scala:82) 在 scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124) 在 scala.collection.immutable.List.foldLeft(List.scala:84) 在 org.apache.spark.sql.catalyst.rules.RuleExecutor$$anonfun$execute$1.apply(RuleExecutor.scala:82) 在 org.apache.spark.sql.catalyst.rules.RuleExecutor$$anonfun$execute$1.apply(RuleExecutor.scala:74) 在 scala.collection.immutable.List.foreach(List.scala:381) 在 org.apache.spark.sql.catalyst.rules.RuleExecutor.execute(RuleExecutor.scala:74) 在 org.apache.spark.sql.execution.QueryExecution.analyzed$lzycompute(QueryExecution.scala:69) 在 org.apache.spark.sql.execution.QueryExecution.analyzed(QueryExecution.scala:67) 在 org.apache.spark.sql.execution.QueryExecution.assertAnalyzed(QueryExecution.scala:50) 在 org.apache.spark.sql.Dataset$.ofRows(Dataset.scala:63) 在 org.apache.spark.sql.SparkSession.sql(SparkSession.scala:592) 在 com.bdp.steaming.HiveReceiver$.main(HiveReceiver.scala:24) 在 com.bdp.steaming.HiveReceiver.main(HiveReceiver.scala)

有人可以告诉错误在哪里吗?

【问题讨论】:

  • 谁能告诉我为什么?谢谢。

标签: apache-spark hive


【解决方案1】:

我已经解决了这个问题。就我而言,我的项目中有两个 hive-metastore 依赖项,然后我排除了一个 hive-metastore 依赖项。它起作用了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 2016-02-09
    • 1970-01-01
    • 2018-11-26
    • 2016-02-07
    • 2020-03-28
    • 1970-01-01
    相关资源
    最近更新 更多