Как эффективно копировать файлы внутри одной и той же файловой системы - PullRequest
0 голосов
/ 14 декабря 2011

Я написал задание, что одной из его ролей является копирование большого количества очень больших файлов в HDFS. Я обнаружил, что использование FileUtil.copy () неэффективно.

Есть ли более эффективный способ сделать это? Я слышал о DistCp.java это лучше, чем FileUtil.copy ()? есть ли реализация DistCp.java Cloudera?

1 Ответ

2 голосов
/ 14 декабря 2011

Есть ли реализация Cloudera DistCp.java?

Не уверен, что вы имели в виду под реализацией Cloudera. Это часть стандартной установки Hadoop, поэтому она также должна быть частью CDH. Вы также можете напрямую использовать команду DistCp . Команда DistCp внутренне вызывает класс DistCp.java для копирования файлов.

Я слышал о DistCp.java, он лучше, чем FileUtil.copy ()?

Метод FileUtil.copy () копирует файлы в последовательности, в то время как DistCp порождает задание MR для копирования файлов, что более эффективно, поскольку копирование происходит параллельно. Обратитесь к документации DistCp для получения более подробной информации.

...