Давайте сделаем пример: если ваш HDFS содержит путь: /tmp/dir/abc.txt
И если ваш локальный диск также содержит этот путь, API hdfs не будет знать, какой из них вы имеете в виду, если не указать такую схему, как file://
или hdfs://
. Возможно, он выбирает путь, который вы не хотите копировать.
Поэтому у вас есть -copyFromLocal
, который мешает вам случайно скопировать неправильный файл, ограничив параметр, который вы даете локальной файловой системе.
Put
предназначен для более продвинутых пользователей, которые знают, какую схему поставить перед собой.
Это всегда немного запутывает новых пользователей Hadoop, в которых они находятся в настоящее время и где находятся их файлы.