hive show databases报错_生产Spark+Hive会遇见的拦路虎

本文主要介绍了在Spark中使用Hive时遇到的三个错误问题及其解决方法。首先,由于缺少Hive类导致的'Unable to instantiate SparkSession'错误,解决办法是将Hive的相关jar文件添加到项目中。接着,出现'NoSuchFieldError: METASTORECLIENTSOCKET_LIFETIME',原因是Hive版本不匹配,解决策略是理解不同Hive版本的配置差异。最后,'Could not connect to meta store'是由于远程Hive未启动,启动Hive并配置metastore即可解决。
摘要由CSDN通过智能技术生成

0a2d6fd2d0833b7b74ec0b60e969981b.gif

问题不难,关键在于排查思路

1.抛错: Unable to instantiate SparkSession with Hive support because Hive classes are not found.

需要先将hadoop的core-site.xml,hive的hive-site.xml拷贝到project中1.1 测试代码

def main(args: Array[String]): Unit = {
    
val spark: SparkSession = SparkSession
.builder()
.appName("www.ruozedata.com")
.master("local[2]")
.enableHiveSupport()
.getOrCreate()
val userClickDF = spark.table("user_click")
userClickDF.show(10)
}

1.2 报错

Exception in thread "main" java.lang.IllegalArgumentException: Unable to instantiate SparkSession with Hive support because Hive classes are not found.
at org.apache.spark.sql.SparkSession$Builder.enableHiveSupport(SparkSession.scala:869)
at homework0522.OverwriteTopN$.main(OverwriteTopN.scala:12)
at homework0522.OverwriteTopN.main(OverwriteTopN.scala)

1.3 查看源码


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值