首页 > 其他 > 详细

【异常】Specified key was too long;max key length is 767 bytes、解决由于HDFS格式化造成Hive数据全部丢失的问题

时间:2019-12-26 19:37:42      阅读:106      评论:0      收藏:0      [点我收藏+]

hive中可能会出现一个非常常见的异常:
Specified key was too long;max key length is 767 bytes?
是mysql/hive字符集问题。需要改变hive元数据库的字符集:mysql>alert database ruozedata character set latin1 然后重启hive,重启mysql。

 

 

由于HDFS进行了格式化,造成Hive的数据全部丢失,所以连接不上Hive。所以解决办法是:
1)去mysql中删除Hive中创建的数据库(注意:没有default数据库)。
2)修改Hive的hive-site.xml中存储在mysql的元数据,改成另一个元数据库ruozedata1:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/ruozedata1?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8</value>
</property>

3)在mysql中创建ruozedata1数据库。
4)启动Hive:hive

一般这个操作在生产上是不会有的,一般不会删除HDFS上的所有的数据。

【异常】Specified key was too long;max key length is 767 bytes、解决由于HDFS格式化造成Hive数据全部丢失的问题

原文:https://www.cnblogs.com/huomei/p/12103651.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!