Apache Sqoop 的网络弹性

Network resilience of Apache Sqoop

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

假设我已经完成了大约 90% 的 import/export 工作,并且 rdbms 系统和我的 hadoop 集群之间存在网络故障。由于 sqoop 在内部为此执行了一个 map/reduce 作业,我猜测该作业将完全失败并需要手动重启。对此我有以下疑问

  1. sqoop 会清理已经 imported/exported 的数据吗?
  2. sqoop是否会在网络故障的情况下自动重启作业?
  3. 如果需要手动清理和重启,除了 sqoop 之外,人们通常使用什么其他技术来实现网络弹性?
  4. 是否有提供此功能的不同版本的 sqoop?

非常感谢您的回答和建议。

谢谢!

已收到来自 Jarek Jarcec Jecko 的 Sqoop 用户邮件列表的答复。在这里张贴他的答案,这样有人可能会觉得这有用。


嗨,Nitin, 这是我回答问题的尝试:

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

导入发生在临时目录中,如果作业无法完成,所有部分导入的数据都将被丢弃。在出口方面,我们有很多较小的交易,因此您将在失败的情况下获得部分出口。但是,我们可以选择使用旨在处理此部分导出问题的暂存 table 进行导出。我建议您查看我们的用户指南 [1].

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

有多个级别的并行和重试。如果一个任务失败,Hadoop 将在默认情况下重新 运行 它 3 次,然后再杀死整个作业。我们不会重新启动整个作业,因为我们假设如果 3 次重试没有帮助,那么再试一次就没有意义了。

亚尔塞克

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