码迷,mamicode.com
首页 > 其他好文 > 详细

Hive注释中文乱码解决方案

时间:2021-04-24 11:50:36      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:use   ram   数据库   esc   mys   cte   vax   连接   _id   

不多BB,直接开干!!!

第一步:进入hive安装目录下面的conf目录,修改hive-site.xml文件

cd /opt/module/hive/conf
vim hive-site.xml

技术图片

第二步:修改如下内容

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

第三步:使用第三方工具连接mysql数据库(如idea、navicat等都行),使用metastore存储元数据的库

技术图片

 第四步:执行如下命令进行修改

#修改表字段注解和表注解
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 DBS MODIFY COLUMN `DESC` VARCHAR(256) 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服务即可(之前编写了一个一键启动/停止 hive服务的脚本:详情请看博客:https://www.cnblogs.com/LzMingYueShanPao/p/14685159.html

hiveservices.sh restart

技术图片

 第六步:删除原来乱码的数据库或表,重新新建即可

create database if not exists test222 comment "卢本伟牛逼";
create table test222.ods_order
(
    ORDER_ID  int comment 订单ID,
    ORDER_NO  varchar(30) comment 订单编号(唯一字段),前缀字符表示订单来源:a,Andriod;b,微博;c,WEB;e,饿了么;i,Iphone;m,Mobile;x,微信; z,中粮我买网;l,其它。 接着3位数字代表订单城市编号;接着字符z与后面的真正订单编号分隔。这套机制从2014年12月开始实施。,
    DEALER_ID int comment 门店ID,
    CUST_ID   int comment 客户ID
);
desc database extended test222;
desc test222.ods_order;

技术图片

技术图片

Hive注释中文乱码解决方案

标签:use   ram   数据库   esc   mys   cte   vax   连接   _id   

原文地址:https://www.cnblogs.com/LzMingYueShanPao/p/14693367.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!