美文网首页
Hive中文注释乱码问题解决

Hive中文注释乱码问题解决

作者: 云中有诗 | 来源:发表于2019-05-07 16:00 被阅读0次

    一般来讲,中文注释乱码问题是字符集导致的。

    1.进入hive元数据库,查看字符集

    (1)mysql uroot -pmysql123

    (2)use hive;

    (3)查看:

    show variables like '%char%';
    +--------------------------+-------------------------------------+
    | Variable_name            | Value                               |
    +--------------------------+-------------------------------------+
    | character_set_client     | utf8                                |
    | character_set_connection | utf8                                |
    | character_set_database   | latin1                                |
    | character_set_filesystem | binary                              |
    | character_set_results    | utf8                                |
    | character_set_server     | latin1                                |
    | character_set_system     | utf8                                |
    | character_sets_dir       | /opt/beh/core/mysql/share/charsets/ |
    +--------------------------+-------------------------------------+
    
       show variables like '%colla%';
    +----------------------+-----------------+
    | Variable_name        | Value           |
    +----------------------+-----------------+
    | collation_connection | utf8_general_ci |
    | collation_database   | utf8_general_ci |
    | collation_server     | utf8_general_ci |
    +----------------------+-----------------+
    

    2.修改字符集
    (1)mysql下修改:

    alter database hive default character set utf8;
    ALTER DATABASE  DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    ALTER TABLE columns_v2 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    ALTER TABLE columns_v2 CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
    

    (2)修改配置文件/etc/my.cnf

    vim /etc/my.conf
    
    [client]
    default-character-set=utf8
     
    [mysql]
    default-character-set=utf8
     
     
    [mysqld]
    collation-server = utf8_unicode_ci
    init-connect='SET NAMES utf8'
    character-set-server = utf8
    

    其他解决方案:
    字符集问题 可进元数据库
    刷:

    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中文注释乱码问题解决

          本文链接:https://www.haomeiwen.com/subject/kjxyoqtx.html