解决Sqoop从Hive导出到MySQL中文乱码的问题

今天写了老师布置的作业,出现了这个乱码的问题,百度了一下,解决了这个问题,记录一下:

解决Sqoop从Hive导出到MySQL中文乱码的问题

 

 

首先在mysql的指令界面输入以下命令:

show variables like 'character%';

出现以下界面,我的界面是这样的:

解决Sqoop从Hive导出到MySQL中文乱码的问题

 

 

我按照搜到的答案用以下命令:

set character_set_client=utf8;

set character_set_connection=utf8;

set character_set_database=utf8;

set character_set_results=utf8;

set character_set_server=utf8;

再次输入命令进行查看

show variables like 'character%';

解决Sqoop从Hive导出到MySQL中文乱码的问题

 

  改完了mysql中的设置,我用的sqoop导出命令是这样的:

sqoop export \
--connect jdbc:mysql://master:3306/lpy"?useUnicode=true&characterEncoding=utf-8" \
--username root \
--password 123456 \
--table student_info \
--export-dir '/user/hive/warehouse/lpy.db/student_info/000000_0' \
--columns sid,sname,cname,score \
--input-fields-terminated-by '\t' \
-m 1;

 

特别注意:connect 连接的地址加上了“?useUnicode=true&characterEncoding=utf-8”,而且这个连接的地址一定要加上双引号,要不编译不通过!

 

经过以上操作问题成功解决!以下是我的成功界面:

解决Sqoop从Hive导出到MySQL中文乱码的问题

 

 转载博客:https://www.cnblogs.com/wang9911-00/p/12456530.html

 

上一篇:自定义扩展Sqoop的使用教程


下一篇:Sqoop定时导入HDFS脚本