hive desc 表时 注释中文乱码问题

hive desc 表时 注释中文乱码问题,第1张

hive desc 表时 注释中文乱码问题

hive执行命令:desc ods_event_log时,comment列为??编码的问题,如下图:

hive (default)> desc ods_event_log;
OK
col_name        data_type       comment
id                      int                     ??
account_id              int                     ??id
account_region          string                  ????
account_register_time   string                  ??????
event_type              string                  ????
event_time              string                  ????
page_name               string                  ???
host                    string                  ??
path                    string                  ????
page_parameter          string                  ??????
url                     string                  ??url
visit_page_time         string                  ??????
client                  string                  ???
version                 string                  ??
detail_parameter        string                  ????
source_parameter        string                  ????
goto_parameter          string                  ????
ip                      string                  ip??
ip_region               string                  ip??
create_time             string                  ????
v_uuid                  string                  ??? uuid
Time taken: 0.197 seconds, Fetched: 21 row(s)

解决方法:

1)登录mysql的元数据管理库:metastore

mysql>use metastore;

mysql>show create table COLUMNS_V2; --查看字符集

2)修改字符集

#修改表字段注解和表注解
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_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
#修改索引注解
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

 3)进入hive的配置文件hive-site.xml 修改javax.jdo.option.ConnectionURL的value


      javax.jdo.option.ConnectionURL
      jdbc:mysql://192.168.130.102:3306/hive_remote?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8

4)重启hive客户端,删掉之前的表结构,再新建表结构

hive (default)> drop table ods_event_log;
hive (default)> create table default.ods_event_log(
              > id int COMMENT '编号',
              > account_id int COMMENT '用户id',
              > account_region string COMMENT '用户地区',
              > account_register_time string COMMENT '用户注册时间',
              > event_type string COMMENT '事件类型',
              > event_time string COMMENT '事件时间',
              > page_name string COMMENT '页面名',
              > host string COMMENT '域名',
              > path string COMMENT '页面路径',
              > page_parameter string COMMENT '页面请求参数',
              > url string COMMENT '请求url',
              > visit_page_time string COMMENT '页面访问时间',
              > client string COMMENT '客户端',
              > version string COMMENT '版本',
              > detail_parameter string COMMENT '详细参数',
              > source_parameter string COMMENT '来源参数',
              > goto_parameter string COMMENT '去向参数',
              > ip string COMMENT 'ip地址',
              > ip_region string COMMENT 'ip地区',
              > create_time string COMMENT '创建时间',
              > v_uuid string COMMENT '虚拟列 uuid'
              > )
              > ROW FORMAT DELIMITED FIELDS TERMINATED BY 't' ;
OK
Time taken: 0.194 seconds

5)查看备注已经正常为中文了

hive (default)> desc ods_event_log;
OK
col_name        data_type       comment
id                      int                     编号
account_id              int                     用户id
account_region          string                  用户地区
account_register_time   string                  用户注册时间
event_type              string                  事件类型
event_time              string                  事件时间
page_name               string                  页面名
host                    string                  域名
path                    string                  页面路径
page_parameter          string                  页面请求参数
url                     string                  请求url
visit_page_time         string                  页面访问时间
client                  string                  客户端
version                 string                  版本
detail_parameter        string                  详细参数
source_parameter        string                  来源参数
goto_parameter          string                  去向参数
ip                      string                  ip地址
ip_region               string                  ip地区
create_time             string                  创建时间
v_uuid                  string                  虚拟列 uuid
Time taken: 0.106 seconds, Fetched: 21 row(s)

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5679258.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存