解决Sqoop从Hive导出到MySQL中文乱码的问题
今天写了老师布置的作业,出现了这个乱码的问题,百度了一下,解决了这个问题,记录一下:
首先在mysql的指令界面输入以下命令:
show variables like 'character%';
出现以下界面,我的界面是这样的:
我按照搜到的答案用以下命令:
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%';
改完了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”,而且这个连接的地址一定要加上双引号,要不编译不通过!
经过以上操作问题成功解决!以下是我的成功界面:
转载博客:https://www.cnblogs.com/wang9911-00/p/12456530.html