我正在使用sqoop2(sqoop1.99.3-cdh5.1.0)从postgresql数据库导入数据。作业成功完成并在hdfs中创建文本文件。输出文件是带有单引号的csv文件,我想将输出配置为不带引号的制表符分隔。sqoop2的输出格式是否可配置?
pes8fvy91#
我也有同样的问题,所以我最终选择了sqoop1。sqoop2很棒,但也有一些缺点,如:您不能在oozie中规划sqoop2作业,因此只能手动运行它。不能将数据直接加载到配置单元或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字段,而是将每个命令插入单独的参数中(比如第一个参数是import,第二个是connect,第三个是connection string,然后是username等等)。希望对你有帮助,祝你好运
disbfnqx2#
似乎sqoop2还不允许配置输出格式,sqoop允许使用以下命令行参数配置输出格式:http://sqoop.apache.org/docs/1.4.4/sqoopuserguide.html#_large_objects (也可以使用thx@purpletech作为粘贴注解)对于clouderahadoop用户:sqoop与sqoop2一起安装,可以在安装cdh的地方找到。hue为sqoop2提供了一个web界面,必须从命令行调用sqoop1。
2条答案
按热度按时间pes8fvy91#
我也有同样的问题,所以我最终选择了sqoop1。sqoop2很棒,但也有一些缺点,如:
您不能在oozie中规划sqoop2作业,因此只能手动运行它。
不能将数据直接加载到配置单元或hbase中,只能加载到文件中。
不能配置输出分隔符和附件。
所以我建议您使用sqoop1,它非常简单:
如果您使用的是hue作业,最好不要将此命令写入sqoop作业的command字段,而是将每个命令插入单独的参数中(比如第一个参数是import,第二个是connect,第三个是connection string,然后是username等等)。
希望对你有帮助,祝你好运
disbfnqx2#
似乎sqoop2还不允许配置输出格式,
sqoop允许使用以下命令行参数配置输出格式:http://sqoop.apache.org/docs/1.4.4/sqoopuserguide.html#_large_objects (也可以使用thx@purpletech作为粘贴注解)
对于clouderahadoop用户:sqoop与sqoop2一起安装,可以在安装cdh的地方找到。hue为sqoop2提供了一个web界面,必须从命令行调用sqoop1。