今天同事写的一个分析sql脚本,对应视图映射到kylin发现中文乱码,查看了下是因为hive view本身就发生了中文乱码,全是‘????’,测试语句如下。
CREATE VIEW kylin.kylin_view_test AS
SELECT '测试字段1' AS Ind_Name
,'zdTest' AS Ind_No
,'测试字段2' AS dept
登录mysql查看了下hive的元数据库中的`tbls`表发现如下:
`VIEW_EXPANDED_TEXT` 和`VIEW_ORIGINAL_TEXT` 字段没有设置编码格式为utf8
执行如下语句:
ALTER TABLE tbls MODIFY COLUMN VIEW_EXPANDED_TEXT mediumtext CHARACTER SET utf8;
ALTER TABLE tbls MODIFY COLUMN VIEW_ORIGINAL_TEXT mediumtext CHARACTER SET utf8;
重新创建视图不在乱码,问题解决;