Hue中hive建表带中文

Hive表使用中文列名时遇到异常

在hive中建表,comment内容带中文

CREATE TABLE if not exists `stu`
(`name` string COMMENT '姓名' );

会出现异常,这个问题比较常见,在网上可以找到解决方法,直接在hive的元数据库中(一般使用mysql作为元数据存储)修改对应表的编码:

--修改字段注释字符集
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;

Hue中执行类似建表语句仍然异常

修复完hive元数据的编码问题,在hue上执行类似建表语句时,仍然无法通过;
通过查看hiveserver日志,可以发现hiveserver接收到的建表语句就有编码问题;
这个问题貌似在低版本hue中不会出现,但是在我使用的版本出现(使用的是4.10.0),不过这个issue早就有人解决了,https://github.com/cloudera/hue/issues/2840,而且在4.11.0也已经修复了。

hue 4.10.0版本:
在这里插入图片描述

hue 4.11.0版本:
在这里插入图片描述

解决方法:

使用浏览器访问下来链接,点击raw,将代码全部拷贝下来
https://github.com/cloudera/hue/blob/f748f04bcc12b38db6c1328859337e9c9554c7f2/apps/beeswax/gen-py/TCLIService/ttypes.py

进入hue安装节点,对原文件ttypes.py 进行备份

sudo mv /usr/lib/hue/apps/beeswax/gen-py/TCLIService/ttypes.py /usr/lib/hue/apps/beeswax/gen-py/TCLIService/ttypes.py.bak

重新创建ttypes.py文件,将刚刚链接复制的内容粘贴进来

sudo vim /usr/lib/hue/apps/beeswax/gen-py/TCLIService/ttypes.py

重启hue服务,就能够正常运行了

sudo systemctl stop hue.service
sudo systemctl start hue.service
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值