zoukankan      html  css  js  c++  java
  • Hive端建表中文注释乱码

    背景:MySQL编码是utf-8,MySQL中建库建表中文显示都正常,但在Hive窗口中建表时字段中文注释均乱码的问题。

    问题:Hive中建表后字段中文注释显示异常。

    1. 定位 MySQL 端问题

    查看 MySQL 字符集编码

    MySQL 中新建表中文注释显示正常

    由此可以定位到并不是 MySQL 服务端的编码问题。

     

    2. 定位 Hive 元数据问题

    查看Hive库表在MySQL中的元数据信息,发现数据库的编码是utf8,而库中表的编码是latin1,所以才会导致hive中中文显示乱码。

    至此就能定位到了是 Hive 元数据表的问题了,需要修改相关表或字段的编码。 

     

    3. 解决方案

     Hive 原数据库表中有关中文显示的表或者字段的编码改为 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中新建表,然后查看中文字段显示情况,正常。

     

    【参考资源】

    [1]. Hive 2.1.1字段和表注释中文乱码. 

     

  • 相关阅读:
    windows7 下 oracle 10g服务端如何安装?
    DOM模块支持测试
    获取css属性
    在webstorm启动nginx服务器
    获取link链接
    innerText
    外部动态加载javascript
    外部动态加载css
    冒泡排序
    Nodelist
  • 原文地址:https://www.cnblogs.com/lemonu/p/10398035.html
Copyright © 2011-2022 走看看