zoukankan      html  css  js  c++  java
  • hive mysql元数据,报错 Specified key was too long; max key length is 767 bytes

    Specified key was too long; max key length is 767 bytes 此错误为hive 元数据mysql 字符集编码问题
    如 show create table PARTITIONS ;
    utf-8会报上述错误。
    要把CHARSET=utf-8 修改为 CHARSET=latin1;

     alter table PARTITIONS convert to character set latin1;
    

    所以最好在hive 建库之初就设置好字符集编码

     alter database hivedb character set latin1;
    

    这样就万事大吉了,再启动hive metastore 服务 所有的表都为 latin1编码了。
    但是如果先启动了 metastore 服务,这样hivedb 中所有的表都是utf-8了(当然这根数据库的配置有关)。
    这样你再执行 alter database hivedb character set latin1; 就晚了。元数据表已经创建完毕了,都是utf-8了。
    所以你要把hivedb 中所有的表都修改一遍

     alter table table_name convert to character set latin1;
    
  • 相关阅读:
    git
    fragment
    Builder模式
    代码混淆
    android studio快捷键
    小知识点
    angular组件使用
    英语摘要2019-6-4
    英语笔记2019-4-3
    搭建Eureka注册中心时遇到的问题
  • 原文地址:https://www.cnblogs.com/jiangxiaoxian/p/9872046.html
Copyright © 2011-2022 走看看