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,执行以下语句。

mysql -u root -p
--输入密码--

use hive;
--使用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

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

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

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

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐