zoukankan      html  css  js  c++  java
  • 【原创】大叔经验分享(34)hive中文注释乱码

    在hive中查看表结构时中文注释乱码,分为两种情况,一种是desc $table,一种是show create table $table

    1 数据库字符集

    检查

    mysql> show variables like '%char%';
    mysql> show create table COLUMNS_V2;
    mysql> show create table TABLE_PARAMS;

    修改

    mysql> alter database hive character set latin1;
    mysql> alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
    mysql> alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

    这时desc $table应该可以正常显示中文了,但是show create table $table还是乱码,这时有两种选择:

    2.1 继续使用hive

    修改 org.apache.hadoop.hive.ql.exec.DDLTask,

    outStream.writeBytes(createTab_stmt.toString());
    ->
    outStream.write(createTab_stmt.toString().getBytes(“UTF-8”));

    outStream.writeBytes(createTab_stmt.render());
    ->
    outStream.write(createTab_stmt.render().getBytes(“UTF-8”));

    并重新打包替换hive-exec.jar,改动太大不建议

    2.2 使用spark-sql或者beeline连接spark thrift server

  • 相关阅读:
    第十三周总结
    第一阶段意见评论
    第十二周总结
    关于transform的3D变形函数
    12.9学习内容
    12.8学习的内容
    这是自己的第一篇博客
    食物链
    poj1988Cute Stacking
    银河英雄传说
  • 原文地址:https://www.cnblogs.com/barneywill/p/10435879.html
Copyright © 2011-2022 走看看