Зачем нам нужна команда distcp для копирования данных из hdfs в s3, когда мы можем напрямую записать данные в местоположение s3? - PullRequest
0 голосов
/ 11 октября 2019

Пожалуйста, помогите мне понять использование distcp, мы используем s3, и в некоторых сценариях я вижу, что они напрямую записывают данные в s3 и во многих случаях записывают данные в hdfs, а затем используют distcp для копирования данных в s3.

Так когда же использовать distcp и когда мы можем напрямую писать в облако?

1 Ответ

0 голосов
/ 11 октября 2019

Прежде всего вам нужно четко понимать, почему использовать distcp.

Distcp в основном используется для передачи через кластер hadoop. Допустим, у вас есть два удаленных кластера Hadoop 1 в Калифорнии, а другой 1 - в Аризоне, а cluster1 - ваш первичный кластер, а cluster2 - ваш вторичный. Это означает, что вы выполняете всю обработку в cluster1 и выгружаете новые данные в cluster2 после завершения обработки наcluster2.

В этом сценарии вы будете пересылать (копировать) ваши данные из cluster1 в cluster2, потому что оба кластера отличаются друг от друга, и вы можете очень быстро копировать данные, так как они копируют данные параллельно, используя средства отображения. Таким образом, вы можете думать о distcp как о ftp, который используется для локального копирования данных на разных серверах.

В вашем случае я думаю, что hdfs, о которых вы упомянули, - это другой хадоп-хадзер, из которого вы копируетеваши данные в aws s3 или наоборот.

Надеюсь, это очистит ваши сомнения

...