解决hive中文乱码
2017-12-25 23:18
260 查看
在hive中创建表,加上COMMENT后面的中文注释;此时如果直接desc formatted tableName会发现,注释的内容是一串问号。这是因为hive初始化安装后,在mysql里面创建的库和表都是以latin1存储的。
此时如果直接在/etc/my.cnf下配置mysql的默认编码为utf-8,会发现进入hive命令行后,create database,drop database等操作都会报错误。
正确的解决办法应该是现在mysql中执行以下命令:
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;
然后重新进入hive命令行,删除之前的库和表,然后重新创建就ok了。需要注意的是hive安装目录下的conf/hive-site.xml配置与mysql连接的jdbc时必须在后面加上参数&characterEncoding=UTF-8,本人就是忘记加了这个,其他的都改成了utf-8还是不行
此时如果直接在/etc/my.cnf下配置mysql的默认编码为utf-8,会发现进入hive命令行后,create database,drop database等操作都会报错误。
正确的解决办法应该是现在mysql中执行以下命令:
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;
然后重新进入hive命令行,删除之前的库和表,然后重新创建就ok了。需要注意的是hive安装目录下的conf/hive-site.xml配置与mysql连接的jdbc时必须在后面加上参数&characterEncoding=UTF-8,本人就是忘记加了这个,其他的都改成了utf-8还是不行
相关文章推荐
- hiveserver2中文输出乱码解决
- HIVE再次尝试 用 Mysql 环境搭建 以及 mysql中文乱码完美解决
- Hive导入数据文件时中文乱码的解决
- Hive中文乱码(JDBC连接HiveServer2)问题解决
- Hive中文乱码(JDBC连接HiveServer2)问题解决
- Hive 解决 comment 中文乱码
- 解决hive查询中文乱码问题
- Hive中文乱码问题之一的解决
- 从CSV文件导入Hive出现中文乱码问题解决
- Hive中文注释乱码问题的解决
- Hive中文注释乱码问题的解决
- HIVE打开文件,注释 中文乱码 怎么解决选UTF-8
- 解决hive中comment中文乱码的问题
- 从CSV文件导入Hive出现中文乱码问题解决
- Hive字段中文注释乱码解决办法
- Hive0.14Comment中文乱码解决
- hive中解决中文乱码
- hive1.2.1 表中comment 中文乱码解决办法
- hive1.2.1 表中comment 中文乱码解决办法
- hive中解决中文乱码