Введение
Добро пожаловать в волшебный карнавал, где необычный волшебник готов показать чудеса Hadoop's HDFS с помощью навыка copy. В этом очаровательном сценарии волшебник стремится показать, как копировать файлы с использованием команды Hadoop FS Shell, добавив волшебный колорит в ваш путь изучения Hadoop.
Копирование файлов с использованием Hadoop FS Shell
В этом шаге мы узнаем, как копировать файлы в Hadoop с использованием команды cp FS Shell.
Переключитесь на пользователя
hadoopв терминале:su - hadoopСоздайте тестовый файл с именем
source.txtв директории/home/hadoop. Выполните следующие команды:echo "This is a test file." > /home/hadoop/source.txtТеперь давайте скопируем локальный файл
source.txtв новый целевой файл с именемdestination.txtна HDFS. Используйте следующую команду:hdfs dfs -copyFromLocal /home/hadoop/source.txt /destination.txtПроверьте, скопирован ли файл успешно. Вы можете вывести список файлов в
/, чтобы подтвердить.hdfs dfs -ls /
Рекурсивное копирование файлов с использованием Hadoop FS Shell
В этом шаге мы усовершенствуем навыки копирования файлов, выполнив рекурсивное копирование директорий с использованием команды Hadoop FS Shell.
Создайте директорию с именем
source_dirв/и поддиректорию с именемsubdirв/source_dir/. Выполните следующие команды:hdfs dfs -mkdir /source_dir hdfs dfs -mkdir /source_dir/subdirРазместите тестовый файл с именем
file1.txtвнутри директорииsubdir. Используйте следующую команду:echo "Contents of file1" > /home/hadoop/file1.txt hdfs dfs -put /home/hadoop/file1.txt /source_dir/subdir/Рекурсивно скопируйте всю директорию
source_dirв новую целевую директорию с именемdestination_dir. Попробуйте следующую команду:hdfs dfs -cp /source_dir/ /destination_dir
Конечно! Команда hdfs dfs -cp /source_dir /destination_dir имеет следующие компоненты:
hdfs dfs -cp: Эта часть указывает на использование командыcpHadoop Distributed File System (HDFS), которая используется для копирования файлов или директорий./source_dir/*: Это представляет путь исходной директории. Знак подстановки*соответствует всем файлам и поддиректориям внутри этой директории./destination_dir: Это путь целевой директории, в которую вы хотите скопировать файлы.
Кратко говоря, эта команда копирует все файлы и поддиректории из /source_dir в /destination_dir, сохраняя при этом исходные атрибуты файлов.
Проверьте рекурсивное копирование, выведя содержимое директории
destination_dir.hdfs dfs -ls -R /destination_dir
Резюме
В этом практическом занятии мы окунулись в волшебный мир Hadoop HDFS, сосредоточившись на командах hdfs dfs -copyFromLocal и hdfs dfs -copy. Создавая увлекательные сценарии и предоставляя ручное практическое занятие, цель этого практического занятия заключалась в том, чтобы повысить ваше понимание операций копирования файлов в Hadoop. Помните,熟能生巧,и овладение этими навыками赋能 вас в вашем путешествии по Hadoop.



