HUE beeswax中文显示问题的解决方案

HUE beeswax中文显示问题的解决方案HUE 是 Cloudera 推出的 Hadoop 生态系统的 Web 访问接口 基于 PythonDjango 开发 在使用过程中发现 如果提交的 SQL 语句中有中文的注释 提交之后 整个语句将会保存在后端的 MySQL 历史表中 但是再次去查看历史记录的时候 其中的中文却显示成一串问号 显然 这种问题是因为数据库编码问题导致的 为了解决这个问题 可以做如下的操作 1 修改 MySQL 的配置文件 e

HUE是Cloudera推出的Hadoop生态系统的Web访问接口,基于Python Django开发。

在使用过程中发现,如果提交的SQL语句中有中文的注释,提交之后,整个语句将会保存在后端的MySQL历史表中,但是再次去查看历史记录的时候,其中的中文却显示成一串问号。显然,这种问题是因为数据库编码问题导致的。为了解决这个问题,可以做如下的操作:

1。 修改MySQL的配置文件(/etc/my.cnf),将默认编码设置成utf8:

[root@report hue]# cat /etc/my.cnf [mysqld] datadir=/data/mysql-data socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 default-character-set=utf8 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid default-character-set=utf8 [client] default-character-set=utf8

重新启动MySQL。

2. 如果是全新安装,则直接执行如下命令同步数据库即可(如果是全新安装,需要将库表转为相应的编码格式):

sudo -u hue /usr/share/hue/build/env/bin/hue syncdb --noinput

3. 在此过程中遇到了数据库字段类型相关的问题(https://review.cloudera.org/r/2188/diff/),解决办法是:

修改文件

/usr/share/hue/apps/jobsub/src/jobsub/migrations/0002_auto__add_ooziestreamingaction__add_oozieaction__add_oozieworkflow__ad.py

中,搜索job_properties,将对应的类型都改成django.db.models.fields.TextField, 同时将后面的max_length参数删除掉即可。

4. 最后重新启动HUE服务,再次提交包含中文的查询,在查询历史中查看,中文的显示就正常了:

HUE beeswax中文显示问题的解决方案



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/216711.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午11:14
下一篇 2026年3月18日 上午11:15


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号