当我们可以将数据直接写入s3位置时,为什么需要distcp命令将数据从hdfs复制到s3?

时间:2019-10-11 08:44:00

标签: amazon-web-services apache-spark hadoop amazon-s3 pyspark-dataframes

请帮助我了解distcp的用法,我们正在使用s3,在某些脚本中,我可以看到它们将数据直接写入s3,在许多情况下,将数据写入hdfs,然后使用distcp将数据复制到s3。

那么什么时候使用distcp,什么时候可以直接写入云?

1 个答案:

答案 0 :(得分:0)

首先,您需要非常清楚为什么要使用distcp。

Distcp主要用于跨hadoop集群传输。假设您在加利福尼亚州有两个远程hadoop集群1,另外1个在亚利桑那州,cluster1是您的主要集群,cluster2是您的辅助集群,这意味着您将在cluster1上进行所有处理,并在处理完成后将新数据转储到cluster2 cluster2。

在此场景中,您将数据从cluster1分发(复制)到cluster2,因为两个集群都不相同,并且可以快速复制数据,因为它使用映射器并行复制数据。因此,您可以认为 distcp 与ftp类似,它用于在不同服务器之间进行本地数据复制。

就您而言,我认为您提到的hdfs是其他hadoop cluser,您将从中将数据复制到aws s3,反之亦然。

希望它消除了您的疑问