解决sqoop将数据导入mysql乱码

mysql 字符集修改:
(5.5以前系统)#vim /etc/mysql/my.cnf 。
在【client】下面加入 default-character-set=utf8
Notice:注意 如果修改后不能启动报错试试把default-character-set=utf8改为character_set_server=utf8,仅仅加入到mysqld下面的.client就不需要加了

(5.5以后系统)如下修改:
#vim /etc/mysql/my.cnf 。
[client]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
2. 命令 /etc/init.d/mysqld restart 重新启动MySQL.
//3.set names utf8;

创建数据库:
create database sqoop default character set 'utf8' COLLATE 'utf8_general_ci';
创建表:
CREATE TABLE test23(time varchar(30), userid varchar(255), query text, pagerank varchar(255), clickrank varchar(255), site text)ENGINE=InnoDB DEFAULT CHARSET=utf8;

sqoop导入mysql命令:

bin/sqoop export --connect "jdbc:mysql://localhost:3306/sqoop?useUnicode=true&characterEncoding=utf-8"  --username root --password git1024 --table test23 --export-dir /user/hive/warehouse/sogouqueryfish/day\=2014-01-01/test3.txt --input-fields-terminated-by '\t' --input-null-string '' --input-null-non-string ''

test success! happy!
----------------


猜你喜欢

转载自mutourenoo.iteye.com/blog/2252018
今日推荐