正常打开hive,运行连接元数据超时!

FAILED: SemanticException
org.apache.hadoop.hive.ql.metadata.HiveException:
java.lang.RuntimeException: Unable to instantiate
org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

打开hive成功,show databases;时报连接元数据超时的错误
用debug模式打开hive

hive -hiveconf hive.root.logger=DEBUG,console

发现是版本问题

1.登陆mysql,修改hive metastore版本:
进行mysql:mysql -u root -p (123456)

use hive;
select * from VERSION;
update VERSION set SCHEMA_VERSION='2.3.4' where  VER_ID=1;

此处的2.3.4是我的hive的版本
解决问题,但是下次打开hive,又出现同样的问题

使用第二个方法,不会再出现这个问题
简单粗暴:在hvie-site.xml中关闭版本验证

<property>
     <name>hive.metastore.schema.verification</name>
    <value>false</value> 
</property>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装Hive和Hadoop 在Pyspark中连接Hive之前,需要安装Hive和Hadoop。可以参考官方文档进行安装。 2. 配置Hive数据源 在Pyspark中连接Hive,需要先配置Hive数据源。可以在Hive的配置文件中设置元数据源的连接信息。在Hive的配置文件hive-site.xml中添加以下属性: ``` <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value> <description>metadata store connection URL</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>metadata store driver class name</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> <description>metadata store username</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hive</value> <description>metadata store password</description> </property> ``` 上述配置文件中的属性值需要根据实际情况进行修改。 3. 连接Hive数据源 在Pyspark中,可以使用HiveContext或者SparkSession来连接Hive数据源。以下是使用HiveContext连接Hive数据源的示例代码: ```python from pyspark.sql import HiveContext hiveContext = HiveContext(sparkContext) ``` 在连接Hive数据源之后,就可以通过HiveContext来执行Hive SQL语句或者查询Hive表了。例如: ```python hiveContext.sql("show tables") ``` 4. 使用SparkSession连接Hive数据源 除了使用HiveContext连接Hive数据源之外,还可以使用SparkSession来连接Hive数据源。以下是使用SparkSession连接Hive数据源的示例代码: ```python from pyspark.sql import SparkSession spark = SparkSession.builder \ .appName("example") \ .config("spark.sql.warehouse.dir", "/user/hive/warehouse") \ .enableHiveSupport() \ .getOrCreate() ``` 在连接Hive数据源之后,就可以通过SparkSession来执行Hive SQL语句或者查询Hive表了。例如: ```python spark.sql("show tables") ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值