栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

mysql数据库中文乱码如何解决(mysql数据库中文乱码)

mysql数据库中文乱码如何解决(mysql数据库中文乱码)

乱码样式


在我想查看一张表某个字段的具体含义时发现出现了乱码现象,这是由于在hive改成MySQL管理元数据后,该数据库使用的是Latin1编码而非utf8或者gbk,所有会导致乱码,由于hive和其他很多hadoop生态也有一定的关联,所以不能直接修改管理元数据库的默认字符集,但是我们可以修改里面表的某些字段的字符集。

方法

第一步:在MySQL中指定管理hive元数据信息对应的数据库输入如下dml语句
ALTER TABLE COLUMNS_V2 MODIFY COLUMN COMMENT VARCHAr(256) CHARACTER SET utf8;
除了有修改表注释字符集的sql外,还带有分区,索引,视图等的sql。

#修改表注释字符集
ALTER TABLE TABLE_PARAMS MODIFY COLUMN PARAM_VALUE  VARCHAR(20000) CHARACTER SET utf8;
#修改分区参数,支持分区键用中文表示
ALTER TABLE PARTITION_PARAMS MODIFY COLUMN PARAM_VALUE VARCHAR(20000) CHARACTER SET utf8;
ALTER TABLE PARTITION_KEYS MODIFY COLUMN PKEY_COMMENT VARCHAR(20000) CHARACTER SET utf8;
#修改索引名注释,支持中文表示
ALTER TABLE INDEX_PARAMS MODIFY COLUMN PARAM_VALUE VARCHAR(4000) CHARACTER SET utf8;
#修改视图,支持视图中文
ALTER TABLE TBLS MODIFY COLUMN VIEW_EXPANDED_TEXT MEDIUMTEXT CHARACTER SET utf8;
ALTER TABLE TBLS MODIFY COLUMN VIEW_ORIGINAL_TEXT MEDIUMTEXT CHARACTER SET utf8;

第二步:修改hive中conf目录下的配置文件hive-site.xml
在原来的驱动中加上 &useUnicode=true&characterEncoding=UTF-8参数,然后重新进入hive客户端即可。

	
        javax.jdo.option.ConnectionURL
        jdbc:mysql://hadoop002:3306/metastore?useSSL=false&useUnicode=true&characterEncoding=UTF-8
    
测试结果



可以看到已经可以显示中文了,对后面的数据管理很有帮助。

注:该内容源于b站尚硅谷atlas课程内容

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/772122.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号