当前位置:   article > 正文

FineBI连接的hive数据库中表字段中文注释乱码(全是问号???)_fnebii制作报表时出现中文乱码

fnebii制作报表时出现中文乱码

 FineBI导入的hive数据库表内容乱码

情况: FineBI导入的数据库表内容乱码

原因:数据库连接的编码问题 

解决:FineBI创建数据库连接时,编码选择了UTF-8,修改成默认,更新一下表,内容就不会乱码了。

情况:hive数据库表注释乱码

参考文章:https://blog.csdn.net/xianpanjia4616/article/details/90733124?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

原因:因为hive的元数据是有mysql管理的,所以要修改mysql的元数据的字符编码

解决:进入mysql,执行以下语句。

  1. mysql -u root -p
  2. --输入密码--
  3. use hive;
  4. --使用hive数据库--

在hive数据库中

修改表字段注解和表注解

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_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 INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

退出mysql

查看hive-site.xml配置文件,修改字符编码要UTF-8

  1. <property>
  2. <name>javax.jdo.option.ConnectionURL</name>
  3. <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>
  4. <description>JDBC connect string for a JDBC metastore</description>
  5. </property>

再次查看表结构,注释仍旧乱码

需要删表重建,就不会乱码了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/828378
推荐阅读
相关标签
  

闽ICP备14008679号