Введение
В этом лабе мы углубимся в мир Hadoop HDFS и сосредоточимся на команде find в FS Shell. Представьте, что вы археолог, исследующий древний храм в поисках скрытых сокровищ и секретов. Ваша задача - использовать команду find в FS Shell для навигации по огромному файловой системе Hadoop, точно так же, как выкопать скрытые артефакты в храме.
Настройка окружения
В этом шаге мы убедимся, что наше окружение Hadoop правильно настроено, прежде чем использовать команду find в FS Shell.
Откройте терминал и следуйте шагам ниже, чтобы начать.
Переключитесь на пользователя
hadoop:su - hadoopПроверьте версию Hadoop:
hadoop versionСоздайте файл
example.txtв корневом каталоге HDFS:echo "This is an example file." | hdfs dfs -put - /example.txt
Получить информацию о файле
В этом шаге мы покажем, как использовать команду find в FS Shell для поиска конкретных файлов в файловой системе Hadoop.
Найти файл с именем
example.txtв корневом каталоге HDFS:hdfs dfs -find / -name "example.txt"Получить информацию о файле с использованием команды stat в FS Shell:
hdfs dfs -stat "%n %y %r" /example.txt > /home/hadoop/example_info.txt cat /home/hadoop/example_info.txt
Команда hdfs dfs -stat используется для получения статуса файлов или директорий в HDFS. Вы можете использовать различные параметры форматирования для настройки выводимой информации. Вот некоторые часто используемые параметры форматирования и их значения:
%b: Размер файла в байтах.%n: Имя файла.%o: Размер блока.%r: Коэффициент репликации.%u: Имя пользователя.%g: Имя группы.%y: Время модификации в формате yyyy-MM-dd HH:mm:ss.%F: Тип файла (файл, директория или символическая ссылка).
Анализ директорий
В этом шаге мы исследуем, как можно использовать find в FS Shell для анализа директорий и их содержимого.
Вывести список всех директорий в каталоге
/user:hdfs dfs -ls /userСоздать директорию с именем
superDirectoryв каталоге/userи установить для нее права доступа 777 (rwxrwxrwx):hdfs dfs -mkdir /user/superDirectory hdfs dfs -chmod 777 /user/superDirectoryИспользовать find в FS Shell для поиска директории
superDirectory:hdfs dfs -find /user -name "superDirectory"Использовать FS Shell для идентификации директорий с определенными правами доступа:
hdfs dfs -ls /user | grep '^drwxrwxrwx'
Резюме
В этом лабе мы окунулись в мир Hadoop HDFS и исследовали возможности команды find в FS Shell. Симулируя археологическое путешествие по храму, мы узнали, как эффективно искать и анализировать файлы и директории в файловой системе Hadoop. Этот практический опыт дало представление о том, как управлять и навигатором по сложным структурам данных в Hadoop, повысив наше понимание операций HDFS.



