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

    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上的所有的数据。

  • 相关阅读:
    2021年4月1日
    2021年3月31日
    2021年3月30日
    2021年3月29日
    2021年3月27日
    2021年3月26日
    2021年3月25日
    人件集阅读笔记03
    2020年3月24日
    构建之法阅读笔记02
  • 原文地址:https://www.cnblogs.com/huomei/p/12103651.html
Copyright © 2011-2022 走看看