Hive注释中文乱码解决方案

不多BB,直接开干!!!

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

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

Hive注释中文乱码解决方案

第二步:修改如下内容

<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存储元数据的库

Hive注释中文乱码解决方案

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

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

hiveservices.sh restart

Hive注释中文乱码解决方案

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

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

Hive注释中文乱码解决方案

上一篇:[IDEA] IntelliJ IDEA 配置 注释模板


下一篇:CF1234E Special Permutations(思维+差分)