配置Sqoop2 TEXT_FILE输出格式

时间:2014-08-06 19:09:26

标签: hadoop sqoop cloudera-cdh sqoop2

我正在使用Sqoop2(Sqoop 1.99.3-cdh5.1.0)从postgresql数据库导入数据。作业成功完成并在HDFS中创建文本文件。输出文件是带单引号的CSV,我想将输出配置为不带引号的制表符。

Sqoop2的输出格式是否可配置?

2 个答案:

答案 0 :(得分:1)

看来Sqoop2还不允许配置输出格式,

Sqoop允许使用命令行参数配置输出格式:http://sqoop.apache.org/docs/1.4.4/SqoopUserGuide.html#_large_objects(对于评论中的粘贴,也使用@xpletech)

对于Cloudera Hadoop用户:Sqoop与Sqoop2一起安装,可以在安装CDH的地方找到。 Hue为Sqoop2提供Web界面,必须从命令行调用Sqoop1。

答案 1 :(得分:0)

我有同样的问题,所以我最终得到了Sqoop1。 Sqoop2很棒但有一些缺点,如:

  • 您无法在Oozie中计划Sqoop2工作,因此您只能手动运行。
  • 您无法将数据直接加载到Hive或HBase中,只能加载到文件。
  • 您无法配置输出分隔符和附件。

所以我建议你使用sqoop1,这很容易:

sqoop import --connect xxxx --username xxxx --password xxxx --query select * from xxx --target-dir /tmp/xxx -m 1 --fields-terminated-by | --enclosed-by \0 

如果您正在使用Hue作业,最好不要将此命令写入Sqoop作业的Command字段,而是将每个命令插入单独的Params(如第一个参数是导入,第二个 - 连接,第三个连接字符串然后 - 用户名等。)。

希望它有所帮助,祝你好运