Apache Sqoop

时间:2016-01-25 05:34:57

标签: hadoop hortonworks-data-platform sqoop

我正在使用apache sqoop 1.4.6(与HortonWorks HDP 2.3软件包一起分发)在rdbms系统和hdfs之间导入和导出数据。我必须在生产环境中部署它,并且想知道sqoop的网络弹性。

说我完成了大约90%的导入/导出作业,并且rdbms系统和我的hadoop集群之间存在网络故障。由于sqoop在内部为此执行map / reduce作业,因此我猜测作业将完全失败并需要手动重启。在这方面,我有以下问题

  1. sqoop是否会清除已导入/导出的数据?
  2. 如果网络出现故障,sqoop会自动重启作业吗?
  3. 如果需要手动清理和重新启动,那么人们通常使用什么其他技术与sqoop一起实现网络弹性?
  4. 是否有提供此功能的不同版本的sqoop?
  5. 您的回答和建议将受到高度赞赏。

    谢谢!

1 个答案:

答案 0 :(得分:0)

从Jare​​k Jarcec Jecko的Sqoop用户邮件列表中收到回复。在这里发布他的答案,以便有人可能会觉得这很有用。

Hi Nitin, 这是我回答这个问题的准备:

  • Does sqoop perform a clean up of the already imported/exported data?

导入发生在临时目录中,如果作业不完成,则所有部分导入的数据都将被删除。在出口方面,我们有很多较小的交易,因此如果出现故障,您将获得部分出口。但是,我们可以选择使用旨在处理此部分导出问题的临时表进行导出。我建议您查看我们的用户指南[1]。

  • Does sqoop automatically restart the job in the case of network failure?

有多个级别的并行和重试。如果一个任务失败,Hadoop将默认重新运行它3次,然后杀死整个作业本身。我们没有重新开始整个工作,因为我们假设如果3次重试没有帮助,再次重试就没有意义了。

Jarcec

链接: 1:http://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html#_literal_sqoop_export_literal **