关于使用sqoop export 导出hdfs数据到mysql中文乱码问题
Posted 束漌示年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于使用sqoop export 导出hdfs数据到mysql中文乱码问题相关的知识,希望对你有一定的参考价值。
前几天使用sqoop将hdfs的数据导入mysql中,发现中文导进去后会乱码,我的执行命令是:
sqoop export --connect "jdbc:mysql://10.19.157.*****?useUnicode=true&characterEncoding=utf-8" --table msg_rule_copy --username root --password root*** --export-dir $path --hadoop-home $home --direct
刚开始以为是mysql编码没有设置好的问题,后面发现mysql是没问题的,都是uft-8
然后用sqoop 测试一下sql语句插入,发现也是没问题的。
sqoop eval --connect "jdbc:mysql://10.19.*****" --username root --p --query "insert into msg_rule_copy(module,levelId) values(‘中文‘,‘90‘);"
jdbc执行sql语句没问题,我就想,除非sqoop他不是用jdbc来插入数据的,后面突然想起一个快速执行的参数:
--direct Use direct
export fast
path
我把这个参数去掉,果然好了。
结论:--direct快速执行模式不支持中文插入。
以上是关于关于使用sqoop export 导出hdfs数据到mysql中文乱码问题的主要内容,如果未能解决你的问题,请参考以下文章