2016-01-26 70 views
0

我已經閱讀了很多關於使用Sqoop從SQL進行導入的問題,但是在導出時只有一些小問題,並且這些示例總是假設您出於某種原因正在導出導入的/預格式化的數據,或者正在使用Hive。如何輸出Sqoop導出的MapReduce作業中的數據?

如何從MapReduce作業將數據寫入HDFS,Sqoop可以讀取和導出?

This Sqoop documentation顯示支持的文件格式。我想我可以使用text/CSV,但是如何在MapReduce中實現?

I've found this answer,它說只修改TextOutputFormat的選項,但只是寫入鍵/值。我的「值」是多個字段/列!

回答

0

我用codegen工具生成可寫SequenceFiles類:

sqoop/bin/sqoop-codegen --connect jdbc://sqlserver://... --table MyTable --class-name my.package.name.ClassForMyTable --outdir ./out/ 

然後我能夠讀那些使用Sqoop,其中大部分出口設置。但表現糟糕透頂。最後,我只是寫了一些簡單的CSV文本文件,這些文件可以通過BCP工具導入,並且在幾分鐘內完成了Sqoop幾個小時的工作。