修改 Hive 元数据库默认字符集,解决乱码问题

Posted 闭关苦炼内功

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改 Hive 元数据库默认字符集,解决乱码问题相关的知识,希望对你有一定的参考价值。

Hive元数据库的字符集默认为Latin1,由于其不支持中文字符,故若建表语句中包含中文注释,会出现乱码现象。
如需解决乱码问题,须做以下修改。

1)修改Hive元数据库中存储注释的字段的字符集为utf-8

(1)字段注释
mysql> alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;

(2)表注释
mysql> alter table TABLE_PARAMS modify column PARAM_VALUE mediumtext character set utf8;

2)修改hive-site.xml中JDBC URL,如下

添加
&useUnicode=true&characterEncoding=UTF-8

    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</value>
    </property>

以上是关于修改 Hive 元数据库默认字符集,解决乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

数据仓库环境准备Hive常见问题及解决方式

数据仓库环境准备Hive常见问题及解决方式

hue创建hive表的时候显示注释乱码

Hive元数据信息获取

Hive 表注释显示乱码问题,GC 方式

Hive 问题合集 持续更新