日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 导出中文乱码_sqoop导出到mysql中文乱码问题总结、utf8、gbk

發布時間:2025/4/16 数据库 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 导出中文乱码_sqoop导出到mysql中文乱码问题总结、utf8、gbk 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天使用sqoop1.4.5版本的(hadoop使用cdh5.4)因為亂碼問題很是頭痛半天。下面進行一一總結

命令:

[root@sdzn-cdh01 etc]# sqoop export --connect "jdbc:mysql://192.168.200.40:3306/otherdb?useUnicode=true&characterEncoding=utf-8" -m 1 ?--username root --password root --table use_02 --export-dir /sdzn_yhhx/user0/ --input-null-string "\\\\N" --input-null-non-string "\\\\N" --input-fields-terminated-by "," --input-lines-terminated-by "\\n"

一.連接數據庫主機失敗

異常表象:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

1.沒有mysql-connect-jdbc.jar的驅動jar包

2.不能ping通訪問的主機

二.訪問權限問題

異常:

Error executing statement: java.sql.SQLException: Access denied for user 'root'@'sdzn-cdh01.zhiyoubao.com' (using password: YES)

問題分析出現上述權限異常,說明200.40所屬的mysql中的otherdb數據庫沒有設置sdzn-cdh01主機的訪問權限。換句話,192.168.200.40所在的mysql禁止sdzn-cdh01主機訪問,或者訪問數據庫的名稱、密碼有誤。因為在默認情況下mysql的中的數據庫的訪問信息為:root@‘localhost’,所以要重置其訪問權限。需要說明一點數據庫的訪問登錄名和密碼與其進入數據庫操作平臺的登錄名和密碼完全是兩回事不要將二者混為一談

操作如下:

首先進入mysql 命令操作平臺查看用戶權限,以確保是否存在該用戶的權限

#mysql -u root -p

mysql>SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

如沒有再去為該主機的用戶添加權限

添加相應權限

grant ?權限? on? 數據庫名.表名 to 用戶名@'可以訪問的地址' identified by "密碼"

設置之后要刷新mysql>flush privileges;

三.數據格式問題

如下所示:

Caused by: java.lang.RuntimeException: Can't parse input data: '1,i'

at use_02.__loadFromFields(use_02.java:249)

at use_02.parse(use_02.java:192)

at org.apache.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:83)

異常分析:

同步的為mysql結構化數據,對數據格式有固定的要求。所以說當集群文件中數據格式與mysql表中存在沖突時,會導致數據傳輸異常。

問題解決:1.查看hdfs中文件數據是否與mysql表中對應的表字段數據類型一致(hdfs中string對應mysql中varchar或者char類型等等)

2.查看sqoop命令中分隔符是否與hdfs相應文件中分隔符一致

四.中文亂碼問題

最后在說亂碼問題,萬事俱備只欠東風。亂碼問題是同步數據中最常見的問題之一。

具體的亂碼顯示不在貼出。

問題分析:亂碼問題由于兩個平臺數據編碼不一致造成的。或者遠程連接平臺編碼問題以及sqoop命令中編碼問題

1.修改sqoop編碼[root@sdzn-cdh01 etc]# sqoop export --connect "jdbc:mysql://192.168.200.40:3306/otherdb?useUnicode=true&characterEncoding=utf-8"

2.在創建數據庫時指定編碼,

mysql>?CREATE?DATABASE?`otherdb`?DEFAULT?CHARACTER?SET?utf8?COLLATE?utf8_general_ci;

mysql>use?otherdb;

mysql> create table ?use_02 (remark varchar(20),groupName varchar(225)) charset utf8 collate utf8_general_ci;

3.修改mysql數據編碼

4.修改遠端訪問平臺編碼

五.源數據中存在特殊字符

原:

[root@sdzn-cdh01 ~]# sqoop export --connect "jdbc:mysql://192.168.0.197:3306/otherdb?useUnicode=true&characterEncoding=utf-8" -m 1 ?--username root --password root --table order_raw_info ?--export-dir '/user/hive/warehouse/zyb.db/order_raw_info/' --input-null-string "\\\\N" --input-null-non-string "\\\\N" --input-fields-terminated-by "\001" --in^Ct-lines-terminated-by "\\n"

異常:

Caused by: java.io.IOException: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x90\xB025...' for column 'link_name' at row 52

at org.apache.sqoop.mapreduce.AsyncSqlRecordWriter.write(AsyncSqlRecordWriter.java:233)

at org.apache.sqoop.mapreduce.AsyncSqlRecordWriter.write(AsyncSqlRecordWriter.java:46)

at org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.write(MapTask.java:655)

at org.apache.hadoop.mapreduce.task.TaskInputOutputContextImpl.write(TaskInputOutputContextImpl.java:89)

at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.write(WrappedMapper.java:112)

at org.apache.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:84)

... 10 more

Caused by: java.sql.SQLException:?Incorrect string value: '\xF0\x9F\x90\xB025...' for column 'link_name' at row 52

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2551)

at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)

at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1192)

at org.apache.sqoop.mapreduce.AsyncSqlOutputFormat$AsyncSqlExecThread.run(AsyncSqlOutputFormat.java:233)

方案:

[root@sdzn-cdh01 ~]# sqoop export --connect "jdbc:mysql://192.168.0.197:3306/otherdb?useUnicode=true&characterEncoding=gbk" -m 1 ?--username root --password root --table order_raw_info ?--export-dir '/user/hive/warehouse/zyb.db/order_raw_info/' --input-null-string "\\\\N" --input-null-non-string "\\\\N" --input-fields-terminated-by "\001" --in^Ct-lines-terminated-by "\\n"

在sql中如圖:

SQL語句:

create table ?order_raw_info (id int,create_time varchar(50),order_code varchar(50),link_name varchar(225),sex varchar(50),city varchar(50),tel varchar(50),certificate_no varchar(50),close_total_price double,popnum int,occ_date varchar(50),tourname varchar(50)) charset gbk ;

總結

以上是生活随笔為你收集整理的mysql 导出中文乱码_sqoop导出到mysql中文乱码问题总结、utf8、gbk的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 51成人精品网站 | 久久精品国产一区 | 三级亚洲欧美 | 亚洲无码精品一区二区三区 | 99久久久无码国产精品免费蜜柚 | 亚洲三级网 | 成人18在线| 国产精品99久久久久 | 91精品一区二区三 | 熟女少妇一区二区三区 | 国产手机在线观看 | 欧美日韩色 | 亚洲 另类 春色 国产 | 99久免费精品视频在线观78 | 99精品国自产在线 | 久久夜色精品国产欧美乱极品 | 91传媒入口 | 热99这里只有精品 | 影音先锋男人资源网站 | 大胸喷奶水www视频妖精网站 | 日韩av不卡在线观看 | 日韩欧美一二三四区 | 日本真人做爰免费视频120秒 | 亚洲少妇精品 | 国产精品久久久久久亚洲影视 | 国产成人精品一区在线播放 | 国产夫绿帽单男3p精品视频 | a√天堂网| 日本h视频在线观看 | 日韩狠狠 | 91片黄在线观看喷潮 | 韩国一级淫一片免费放 | 亚洲视频一区在线观看 | 成人极品视频 | 欧美色图久久 | v天堂在线观看 | 18性xxxxx性猛交 | 日韩免费高清一区二区 | 久久精品一区二区三区不卡牛牛 | 538精品在线视频 | 毛片网止 | 欧美黄色三级视频 | 嫩草影院av | 嫩草视频在线播放 | 久久久99精品免费观看 | 婷婷六月综合网 | 精品国产18久久久久久 | 亚洲一区电影在线观看 | 国产一级黄色片子 | 欧美第一精品 | 欧美人xxxx | 国产一区二区三区在线播放无 | 国产对白羞辱绿帽vk | 看一级黄色片 | 老子影院午夜精品无码 | 国产精品一区二区亚洲 | 九九超碰| 成人免费毛片片v | 热久久久久久久 | 亚洲免费成人在线 | 成人亚洲综合 | 亚洲图片欧美另类 | 日韩一区二区三区视频在线观看 | 成人av动漫在线观看 | 私人av| 噜噜噜在线| 久久久婷 | 人人爽人人爽人人片 | 伊人影院中文字幕 | 手机在线观看毛片 | 久久99精品久久久久子伦 | 成人在线影片 | 日本69式三人交 | 色婷婷五 | av无毛| 69久久成人精品 | 99久久久国产精品无码免费 | 亚洲男人在线天堂 | av网站入口 | 日韩中文字幕第一页 | 特黄色一级片 | 双性皇帝高h喷汁呻吟 | 黄色网址链接 | 欧美日韩精品综合 | 日韩精品1区2区3区 欧美一本 | 国产精品人 | 成人免费视频国产 | 国产一级视频在线观看 | 亚洲乱熟女一区二区三区小说 | 天堂色播 | 在线你懂的视频 | 欧美色xxxx| 亚洲吧| 在线观看视频99 | 99re6在线观看 | 大尺度做爰呻吟舌吻情头 | 1000部国产精品成人观看 | 中文字幕有码在线观看 | 欧美三日本三级少妇三99 |