2016-01-26 45 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几个小时的工作。