Hadoop - команда copyFromLocal

Опубликовано: 18 Февраля, 2022

Команда Hadoop copyFromLocal используется для копирования файла из вашей локальной файловой системы в HDFS (распределенная файловая система Hadoop). Команда copyFromLocal имеет необязательный переключатель –f, который используется для замены уже существующего файла в системе, что означает, что его можно использовать для обновления этого файла. -f переключатель аналогичен сначала удалению файла, а затем его копированию. Если файл уже присутствует в папке, копирование его в ту же папку автоматически выдаст ошибку.

Синтаксис для копирования файла из вашей локальной файловой системы в HDFS приведен ниже:

 hdfs dfs -copyFromLocal / путь 1 / путь 2 .... / путь n / пункт назначения

Локальная команда copyFromLocal похожа на команду -put, используемую в HDFS. мы также можем использовать hadoop fs как синоним hdfs dfs . Команда может принимать несколько аргументов, где все предоставленные пути относятся к источнику, из которого мы хотим скопировать файл, за исключением последнего, который является местом назначения, куда файл копируется. Убедитесь, что местом назначения должен быть каталог.

Наша цель - скопировать файл из нашей локальной файловой системы в HDFS. В моем случае я хочу скопировать файл с именем Salaries.csv, который находится в каталоге / home / dikshant / Documents / hadoop_file .

Шаги по выполнению команды copyFromLocal

Давайте посмотрим на текущий вид моего корневого каталога в HDFS.

Шаг 1: Создайте каталог в HDFS, в который вы хотите скопировать этот файл, с помощью следующей команды.

 hdfs dfs -mkdir / Hadoop_File

Шаг 2: Используйте команду copyFromLocal, как показано ниже, чтобы скопировать ее в каталог HDFS / Hadoop_File.

 hdfs dfs -copyFromLocal /home/dikshant/Documents/hadoop_file/Salaries.csv / Hadoop_File

Шаг 3: Проверьте, успешно ли скопирован файл, переместившись в его расположение каталога с помощью приведенной ниже команды.

 hdfs dfs -ls / Hadoop_File

Перезапись или обновление файла в HDFS с ключом -f

На изображении ниже вы можете заметить, что сама команда copyFromLocal не копирует файл с тем же именем в то же место. он говорит, что файл уже существует.

Чтобы обновить содержимое файла или перезаписать его, вы должны использовать переключатель -f, как показано ниже.

 hdfs dfs -copyFromLocal -f /home/dikshant/Documents/hadoop_file/Salaries.csv / Hadoop_File

Теперь вы можете легко заметить, что использование copyFromLocal с ключом -f не вызывает никаких ошибок или легко обновит или изменит ваш файл в HDFS.