Hive元数据使用RDS时创建视图表中文乱码
用户问题
MRS 3.1.0版本集群,Hive元数据配置为RDS数据库中存储。创建视图时,使用case when语句中文显示乱码。
例如建表语句如下:
查看视图内容中,中文乱码:
原因分析
该问题是由于元数据表相关字段编码不是UTF 8,导致中文显示异常。
处理步骤
- 连接外置的元数据数据库,查看元数据表的VIEW_EXPANDED_TEXT和VIEW_ORIGINAL_TEXT字段的编码是否为UTF 8。
show full columns from TBLS;
- 执行以下命令,修改字段编码信息。
ALTER TABLE TBLS modify COLUMN VIEW_EXPANDED_TEXT mediumtext CHARACTER SET utf8;
ALTER TABLE TBLS modify COLUMN VIEW_ORIGINAL_TEXT mediumtext CHARACTER SET utf8;
- 重新创建视图后不存在中文乱码情况。