spark 3.0连接hive 3.x数据库,查询不到表中的数据

九天安属 2020-04-11 11:01:11
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.hive.ql.exec.Utilities.copyTableJobPropertiesToConf(Lorg/apache/hadoop/hive/ql/plan/TableDesc;Lorg/apache/hadoop/conf/Configuration;)V
at org.apache.spark.sql.hive.HadoopTableReader$.initializeLocalJobConfFunc(TableReader.scala:382)
at org.apache.spark.sql.hive.HadoopTableReader.$anonfun$createOldHadoopRDD$1(TableReader.scala:308)
at org.apache.spark.sql.hive.HadoopTableReader.$anonfun$createOldHadoopRDD$1$adapted(TableReader.scala:308)
at org.apache.spark.rdd.HadoopRDD.$anonfun$getJobConf$8(HadoopRDD.scala:181)
at org.apache.spark.rdd.HadoopRDD.$anonfun$getJobConf$8$adapted(HadoopRDD.scala:181)
at scala.Option.foreach(Option.scala:407)
at org.apache.spark.rdd.HadoopRDD.$anonfun$getJobConf$6(HadoopRDD.scala:181)
at scala.Option.getOrElse(Option.scala:189)
at org.apache.spark.rdd.HadoopRDD.getJobConf(HadoopRDD.scala:178)
at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:201)
at org.apache.spark.rdd.RDD.$anonfun$partitions$2(RDD.scala:276)
at scala.Option.getOrElse(Option.scala:189)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:272)
at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:49)
at org.apache.spark.rdd.RDD.$anonfun$partitions$2(RDD.scala:276)
at scala.Option.getOrElse(Option.scala:189)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:272)
at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:49)
at org.apache.spark.rdd.RDD.$anonfun$partitions$2(RDD.scala:276)
at scala.Option.getOrElse(Option.scala:189)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:272)
at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:49)
at org.apache.spark.rdd.RDD.$anonfun$partitions$2(RDD.scala:276)
at scala.Option.getOrElse(Option.scala:189)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:272)
at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:49)
at org.apache.spark.rdd.RDD.$anonfun$partitions$2(RDD.scala:276)
at scala.Option.getOrElse(Option.scala:189)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:272)
at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:49)
at org.apache.spark.rdd.RDD.$anonfun$partitions$2(RDD.scala:276)
at scala.Option.getOrElse(Option.scala:189)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:272)
at org.apache.spark.sql.execution.SparkPlan.executeTake(SparkPlan.scala:408)
at org.apache.spark.sql.execution.CollectLimitExec.executeCollect(limit.scala:47)
at org.apache.spark.sql.Dataset.collectFromPlan(Dataset.scala:3482)
at org.apache.spark.sql.Dataset.$anonfun$head$1(Dataset.scala:2581)
at org.apache.spark.sql.Dataset.$anonfun$withAction$1(Dataset.scala:3472)
at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$4(SQLExecution.scala:100)
at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:160)
at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:87)
at org.apache.spark.sql.Dataset.withAction(Dataset.scala:3468)
at org.apache.spark.sql.Dataset.head(Dataset.scala:2581)
at org.apache.spark.sql.Dataset.take(Dataset.scala:2788)
at org.apache.spark.sql.Dataset.getRows(Dataset.scala:297)
at org.apache.spark.sql.Dataset.showString(Dataset.scala:334)
at org.apache.spark.sql.Dataset.show(Dataset.scala:816)
at org.apache.spark.sql.Dataset.show(Dataset.scala:775)
at test.SparkHive$.main(SparkHive.scala:18)
at test.SparkHive.main(SparkHive.scala)

在能够在spark中创建表,也能查询到在spark中创建表的数据。
...全文
1883 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

解决了吗兄弟,我也碰到了,应该是hive包的版本问题

MARKXLVI 2022-04-08
  • 举报
回复
@明天就去送外卖了 同问,该怎么解决
shuai7boy 2020-04-13
  • 打赏
  • 举报
回复
看这个错误,是没找到copyTableJobPropertiesToConf表的原因呢,您是不是缺少spark-hive包引用?
数据与人工智能-fy 大数据与人工智能-fy 1. 1Hadoop目前最新的版本是 [单选题] A.1.0 B.2.0 C.3.0(正确答案) D.4.0 2. 2以下哪个系统可以为计算机CPU分配资源 [单选题] A.分布式文件存储系统(HDFS) B.分布式计算框架(MapReduce) C.分布式资源调度系统(Yarn)(正确答案) D.数据处理方法(DPW) 3. 以下哪个组成不属于Yarn [单选题] A.ResourceManager B.NodeManager C.ApplicationManager D.Spark(正确答案) 4. Hive针对内部表和外部表的区别是 [单选题] A.创建内部表的同时,会将数据挪到数据仓库指定的位置(正确答案) B.删除内部表时只删除源数据 C.创建内部表时,只记录数据指定的路径 D.删除外部表时删除表中数据和源数据数据与人工智能-fy全文共22页,当前为第1页。 大数据与人工智能-fy全文共22页,当前为第1页。 5. 以下属于引入ZooKeeper的理由是 [单选题] A.分布式系统需要统一管理(正确答案) B.MapReduce代码开发效率低下 C.使用SQL进行数据分析效率更高 D.大数据50%为报表类业务,需要仓库类大数据工具 6. 下列关于ZooKeeper集群原理的介绍,不正确的是 [单选题] A.由多个ZooKeeper SEVER组成的集群环境 B.包含一个Leader和多个Follower C.每个sever保存一个数据副本、全局数据一致 D.不采用分布式读写机制(正确答案) 7. 以下关于Hbase的说法正确的是 [单选题] A.Hbase是分布式场景中可以实时读写数据的分布式数据(正确答案) B.包含一个Leader和多个Follower C.创建内部表时,只记录数据指定的路径 D.比较适合存储视频文件 8. 关于Redis说法不正确的是 [单选题] A.Redis没有字段的概念,所以在数据查询上功能比较弱,支持的特性比较简单。这点是不如MongoDB的 B.Redis单个value的最大容量可达1GB,不支持单个Value比较大的情况 C.内存依赖比较高。由于Redis本质上是一个内存数据,所以内存硬件的容量大小直接决定了Redis可用的数据空间 D.比较适合存储视频文件(正确答案) 大数据与人工智能-fy全文共22页,当前为第2页。9. 关于Redis说法不正确的是 [单选题] 大数据与人工智能-fy全文共22页,当前为第2页。 A.使用C语言编写(正确答案) B.比较适用于计数场景 C.所有数据都在内存中,高速读写 D.支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型) 答案解析:使用开源C语言编写 10. 以下哪个不属于Redis三大架构 [单选题] A.主从复制架构 B.Sentinel架构 C.集群架构 D.实时数据计算架构(正确答案) 11. 关于HDFS的说法不正确的是 [单选题] A.是JAVA实现的、分布式的、可横向扩展的文件系统 B.支持数据切块,目的是提升文件的读取效率 C.数据切块后默认大小为256M(正确答案) D.有副本机制 答案解析:为128M 12. Yarn是从Hadoop的哪个版本出现的 [单选题] A.1.0 B.2.0(正确答案) C.3.0 D.4.0 大数据与人工智能-fy全文共22页,当前为第3页。13. 下列哪项不属于引入Hive的原因 [单选题] 大数据与人工智能-fy全文共22页,当前为第3页。 A.MapReduce代码开发效率低下 B.使用SQL进行数据分析效率更高 C.大数据50%为报表类业务,需要仓库类大数据工具 D.Hive更简单(正确答案) 14. 关于Hive和RDBMS说法不正确的是 [单选题] A.Hive使用HQL查询语言 B.Hive使用HDFS进行数据存储 C.RDBS数据规模较大(正确答案) D.Hive硬件配置要求一般,RDBMS要求较高 答案解析:规模较小 15. 关于ZooKeeper的说法不正确是 [单选题] A.采用层次化的数据结构 B.采用类似于LINUX命令进行数据访问 C.具备临时节点和永久节点 D.永久节点会随客户端会话的结束而结束其生命周期(正确答案) 答案解析:临时节点 16. 关于Hbase说法不正确的是 [单选题] A.Table中包含多个region B.region会随着数据的增大而分裂 C.region分裂时,数据不能访问 D.行的一次读写不是原子操作(正确答案) 答案解析:是原子操作 大数据与人工智能-fy全文共22

20,808

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧