Прежде всего вам нужно четко понимать, почему использовать distcp.
Distcp в основном используется для передачи через кластер hadoop. Допустим, у вас есть два удаленных кластера Hadoop 1 в Калифорнии, а другой 1 - в Аризоне, а cluster1 - ваш первичный кластер, а cluster2 - ваш вторичный. Это означает, что вы выполняете всю обработку в cluster1 и выгружаете новые данные в cluster2 после завершения обработки наcluster2.
В этом сценарии вы будете пересылать (копировать) ваши данные из cluster1 в cluster2, потому что оба кластера отличаются друг от друга, и вы можете очень быстро копировать данные, так как они копируют данные параллельно, используя средства отображения. Таким образом, вы можете думать о distcp как о ftp, который используется для локального копирования данных на разных серверах.
В вашем случае я думаю, что hdfs, о которых вы упомянули, - это другой хадоп-хадзер, из которого вы копируетеваши данные в aws s3 или наоборот.
Надеюсь, это очистит ваши сомнения