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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

sqoop遇到mysql字段为保留字_关于在sqoop 导出数据到mysql数据库的过程对于空字符的处理。...

發(fā)布時間:2023/12/1 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sqoop遇到mysql字段为保留字_关于在sqoop 导出数据到mysql数据库的过程对于空字符的处理。... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

今天在做sqoop的導(dǎo)入和導(dǎo)出的操作。在導(dǎo)出數(shù)據(jù)到mysql數(shù)據(jù)庫的時候一直有問題,在導(dǎo)入空字段的時候就出現(xiàn)下面這個錯誤。

WARN?hdfs.DFSClient:?Caught?exception

java.lang.InterruptedException

at?java.lang.Object.wait(Native?Method)

at?java.lang.Thread.join(Thread.java:1281)

at?java.lang.Thread.join(Thread.java:1355)

at?org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.closeResponder(DFSOutputStream.java:967)

at?org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.endBlock(DFSOutputStream.java:705)

at?org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:894)

18/09/05?12:02:12?INFO?input.FileInputFormat:?Total?input?paths?to?process?:?1

18/09/05?12:02:12?INFO?input.FileInputFormat:?Total?input?paths?to?process?:?1

GXG?2018/9/5?12:30:34

ERROR?tool.ExportTool:?Error?during?export:

Export?job?failed!

at?org.apache.sqoop.mapreduce.ExportJobBase.runExport(ExportJobBase.java:439)

at?org.apache.sqoop.manager.SqlManager.exportTable(SqlManager.java:931)

at?org.apache.sqoop.tool.ExportTool.exportTable(ExportTool.java:80)

at?org.apache.sqoop.tool.ExportTool.run(ExportTool.java:99)

at?org.apache.sqoop.Sqoop.run(Sqoop.java:147)

at?org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)

at?org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)

at?org.apache.sqoop.Sqoop.runTool(Sqoop.java:234)

at?org.apache.sqoop.Sqoop.runTool(Sqoop.java:243)

at?org.apache.sqoop.Sqoop.main(Sqoop.java:252)

然后發(fā)現(xiàn)在hive表當(dāng)中的數(shù)據(jù)是為空的。而且沒有指定對空字符進行操作。所以導(dǎo)致拿不到這個字段。最后在對string類型的數(shù)據(jù)進行處理之后順利的導(dǎo)入數(shù)據(jù)庫:

--input-null-string '\\N'\--input-null-non-string '\\N' \

對sqoop的腳本加上這段代碼就可以實現(xiàn)對數(shù)據(jù)的導(dǎo)入。具體的sqoop腳本如下:

sqoop export \--connect jdbc:mysql://172.16.230.138/report \

--username u_report \--password 1234 \--table middle_table1 \--export-dir /user/hive/warehouse/middle_table_copy/*\

--input-null-string '\\N' \

--input-null-non-string '\\N' \

--input-fields-terminated-by '\t'

至此問題得到解決。數(shù)據(jù)順利的導(dǎo)入到關(guān)系型數(shù)據(jù)庫mysql當(dāng)中。

總結(jié)

以上是生活随笔為你收集整理的sqoop遇到mysql字段为保留字_关于在sqoop 导出数据到mysql数据库的过程对于空字符的处理。...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。