0
点赞
收藏
分享

微信扫一扫

hive表注释中文乱码问题

快乐码农Alan007 2022-03-12 阅读 70

先确定hive表的元数据信息存放位置:

默认存放在 derby数据库

大部分用户选择放到mysql数据库

 mysql数据库又分为远程 数据库 和 本地数据库  

区分放在那个mysql数据库,要查看hive-site.xml配置文件

我这里演示的是:

hive元数据存放到本地mysql数据库

先进入到本地mysql数据库:
在这里插入图片描述

直接登录进去:

查看一下数据库信息

在这里插入图片描述

我的hive元数据放在的是hive库中:

show tables

在这里插入图片描述

重点关注一下这几张表:

COLUMNS_V2    hive表中字段字符集
TABLE_PARAMS   hive表注释字符集
PARTITION_PARAMS    hive分区表参数使用中文注释
PARTITION_KEYS    hive分区表参数使用中文注释
INDEX_PARAMS    
TBLS  hive表中视图字段支持中文注解

1、修改字段字符集

ALTER TABLE COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;

2、修改表注释字符集

ALTER TABLE TABLE_PARAMS modify column PARAM_VALUE varchar(10000) character set utf8;

3、分区参数使用中文

ALTER TABLE PARTITION_PARAMS modify column PARAM_VALUE varchar(10000) character set utf8;

ALTER TABLE PARTITION_KEYS modify column PKEY_COMMENT varchar(10000) character set utf8;

4、表注释支持中文

ALTER TABLE INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

5、表视图支持中文

ALTER TABLE TBLS modify COLUMN VIEW_EXPANDED_TEXT mediumtext CHARACTER SET utf8;

ALTER TABLE TBLS modify COLUMN VIEW_ORIGINAL_TEXT mediumtext CHARACTER SET utf8;

修改 1、 2 基本够用后面如果用的着可以自己研究一下

到hive中找到一张测试表:

alter table  
 default.dept 
 add columns 
( testColumn string COMMENT'中文乱码') ;

查看表结构:
DESCRIBE default.dept;
在这里插入图片描述

举报

相关推荐

0 条评论