FineBI导入的hive数据库表内容乱码
情况: FineBI导入的数据库表内容乱码
原因:数据库连接的编码问题
解决:FineBI创建数据库连接时,编码选择了UTF-8,修改成默认,更新一下表,内容就不会乱码了。
情况:hive数据库表注释乱码
原因:因为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&characterEncoding=UTF-8&useSSL=false</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
再次查看表结构,注释仍旧乱码
需要删表重建,就不会乱码了。