0
我想使用sqoop從分區配置表導出到mysql。sqoop導出mysql分區
起初,我試着做
$sqoop export --connect jdbc:mysql://<server addr>/<db name> --username <user name> -P --table source_edge_daily --export-dir /path/to/table/<table name> --input-fields-terminated-by '\t' --verbose
的指揮失誤了說
Open failed for file /path/to/table/<table name>/<partition name>, attempt to open a directory
當我指向分區目錄
$sqoop export --connect jdbc:mysql://<server addr>/<db name> --username <user name> -P --table source_edge_daily --export-dir /path/to/table/<table name>/<partition name> --input-fields-terminated-by '\t' --verbose
命令失敗說
at com.cloudera.sqoop.mapreduce.CombineShimRecordReader.getCurrentKey(CombineShimRecordReader.java:100)
at com.cloudera.sqoop.mapreduce.CombineShimRecordReader.getCurrentKey(CombineShimRecordReader.java:43)
at org.apache.hadoop.mapreduce.lib.input.CombineFileRecordReader.getCurrentKey(CombineFileRecordReader.java:75)
at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.getCurrentKey(MapTask.java:452)
at org.apache.hadoop.mapreduce.MapContext.getCurrentKey(MapContext.java:57)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
at com.cloudera.sqoop.mapreduce.AutoProgressMapper.run(AutoProgressMapper.java:189)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:668)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:334)
at org.apache.hadoop.mapred.Child$4.run(Child.java:270)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1109)
at org.apache.hadoop.mapred.Child.main(Child.java:264)
我也試過重新創建MySQL表沒有分區鍵,創建一個分區的MySQL表,一切失敗,出現相同的錯誤消息
sqoop出口--connect JDBC:MySQL的:/// --username -P --table source_edge_daily --export-DIR /路徑/到/表/ /<分區名稱> --input場 - 終止 - '\ t' - 動詞。你是否按原樣運行這個命令? –
shazin
A
4
相關問題
-
1. Sqoop導出分區Hive表
-
2. Sqoop導出分區的Hive表
-
3. 使用Sqoop導入的動態分區
-
4. Sqoop導出列
-
5. 無法使用sqoop從配置單元分區表mysql表中導出數據
-
6. SQOOP導出CSV到MySQL失敗
-
7. Sqoop導出錯誤
-
8. sqoop導出失敗
-
9. Sqoop導入/導出問題
-
10. sqoop導出性能問題
-
11. SQOOP導出 - 問題與UPSERT
-
12. sqoop:多個導出路徑
-
13. Sqoop安裝導出並從postgresql導入
-
14. Sqoop從oracle動態創建hive分區表並導入數據
-
15. sqoop導出給出java.nio.BufferOverflowException與表(〜120列)
-
16. 由sqoop創建的配置元表導出的sqoop導入導入
-
17. sqoop從mysql導入到hbase的錯誤
-
18. 使用Sqoop從MySQL導入到Hive
-
19. 嘗試從mysql使用sqoop導入表
-
20. sqoop可以將blob類型從HDFS導出到Mysql嗎?
-
21. 使用sqoop將數據從Mysql導入到Hbase時出錯
-
22. RDBMS中的sqoop導出更新表記錄MySQL
-
23. 無法使用Sqoop將數據從Hive導出到MySQL
-
24. NoSuchElementException當使用sqoop從hdfs將數據導出到mysql時
-
25. Sqoop導出到MySQL,不同的列順序
-
26. sqoop導出從hdfs到mysql的特定列
-
27. Sqoop eval正在工作,但sqoop導入給出了錯誤
-
28. Sqoop Hive導入
-
29. 導入在sqoop
-
30. Sqoop-Hive導入
最新問題
-
1. 爲什麼表單值對象爲空?
-
2. 如何在我的MySQL使用GROUP_CONCAT
-
3. 部署到蔚藍的網站
-
4. CSS響應表不顯示
-
5. 如何在UML中建模1到0 .. *聚合
-
6. Vue公司和子元件構件
-
7. PowerShell輸出在手動和程序化執行之間有所不同
-
8. 如何製作所需的幾個字段之一?
-
9. 從一個對象獲取變量值 - jquery
-
10. Mongo DB - 羣組狀態並使用聚合獲得總計數
-
1. Sqoop導出分區Hive表
-
2. Sqoop導出分區的Hive表
-
3. 使用Sqoop導入的動態分區
-
4. Sqoop導出列
-
5. 無法使用sqoop從配置單元分區表mysql表中導出數據
-
6. SQOOP導出CSV到MySQL失敗
-
7. Sqoop導出錯誤
-
8. sqoop導出失敗
-
9. Sqoop導入/導出問題
-
10. sqoop導出性能問題
回答
Sqoop目前不支持裝載分區表,仍然是work in progress。所以你的第一個解決方案在解決之前不會起作用。
直接指定分區目錄的問題是,您將失去有關分區的信息,因此您需要創建一個不包含分區列的臨時MySQL表,然後才能將數據加載到此表中容易。最後你只需要從這個臨時表中插入到真正的表中。
來源
2013-01-21 18:50:02
相關問題