2016-12-16 2 views
2

Я узнал, что если вы хотите скопировать несколько файлов из одной папки hadoop в другую папку hadoop, вы можете лучше создать один большой оператор hdfs dfs -cp с большим количеством компонентов, а не создавать несколько hdfs dfs -cp операторов. С «лучше» я имею в виду, что это улучшит время, затрачиваемое на копирование файлов: одна команда выполняется быстрее, чем несколько отдельных команд -cp работают друг за другом.hdfs копирует несколько файлов в один и тот же целевой каталог

Когда я это делаю, и моя целевая директория одинакова для всех файлов, которые я хочу скопировать, я получаю предупреждение.

Я, выполнив следующую команду:

hdfs dfs -cp -f /path1/file1 /pathx/target /path2/file2 /pathx/target /path3/file3 /pathx/target 

После его выполнения я получаю следующее предупреждение возвращается:

cp: `/pathx/target' to `/pathx/target/target': is a subdirectory of itself 

Хотя я получаю это странное предупреждение копию сам преуспевает, как это должно быть. Является ли это ошибкой или я что-то упускаю?

ответ

6

Попробуйте использовать следующий синтаксис:

hadoop fs -cp /path1/file1 /path2/file2 path3/file3 /pathx/target 
+2

как только я достичь 15 очков я буду голосовать ваш ответ –

+1

Ughh, что было это. Благодаря! Я должен был сначала проверить документацию ... https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/FileSystemShell.html#cp так что это 'hdfs dfs -cp source1 source2 source3 target' –

Смежные вопросы