• CDH集群部署hive建表中文乱码


    背景:部署CDH集群的 hive 服务,选用 mysql 作为 hive 元数据的存储数据库,通过 hive cli 建表时发现中文注释均乱码。

    现象:hive端建表中文注释乱码。

    定位:

    已经确认过 mysql 库的默认编码是 utf-8,并且 mysql 中建库建表不存在中文乱码的情况。

    于是查看hive库表的编码,分别通过如下方式查看hive库和随机某个表的编码,发现hive表的编码是 lantin1,问题也就出在这里。

    查看hive库编码:

    查看hive表编码:

    解决方法:

    将hive表中所有关于注释的编码有 lantin1 修改为 utf-8。

    alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
    alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
    alter table PARTITION_PARAMS  modify column PARAM_VALUE varchar(4000) character set utf8;
    alter table PARTITION_KEYS  modify column PKEY_COMMENT varchar(4000) character set utf8;
    alter table  INDEX_PARAMS  modify column PARAM_VALUE  varchar(4000) character set utf8;

    至此,hive 端建表中文注释乱码问题已解决。

    【参考资料】

    [1]. https://my.oschina.net/jackieyeah/blog/742088.

  • 相关阅读:
    网页源码爬取
    Vue模板语法上集
    SSH整合
    P1290 欧几里德的游戏
    P1582 倒水
    P2158 [SDOI2008]仪仗队
    P1338 末日的传说
    P1372 又是毕业季I
    P1865 A % B Problem
    P1031 均分纸牌
  • 原文地址:https://www.cnblogs.com/lemonu/p/11235410.html
Copyright © 2020-2023  润新知