Я все еще новичок в Hadoop, и на этот раз я пытался обработать файл размером 106 ГБ. я использовал -copyFromLocal
чтобы скопировать этот большой файл в мою Hadoop DFS, но поскольку файл большой, мне приходится долго ждать, не зная о текущем статусе копирования.
Есть ли способ показать текущий статус копирования файлов с помощью этой команды?
Заранее спасибо, ребята, за помощь!
CopyFromLocal
не имеет возможности отображать прогресс копирования файла. В качестве альтернативы вы можете открыть другую оболочку и запустить $ watch hadoop fs -ls <filenameyouarecopying>
. Это будет отображать файл и его размер каждые 2,0 секунды.
Также можно отслеживать прогресс чтения локального файла, используя pv
команду и передать содержимое файла в hdfs dfs
стандартный ввод:
pv mylargefile.txt | hdfs dfs -put - /path/to/file/on/hdfs/mylargefile.txt
Не похоже, что есть подробный параметр для любой из команд копирования (copyFromLocal, copyToLocal, get, put). Лучше всего, вероятно, посмотреть размер файла в месте назначения на HDFS, чтобы оценить его прогресс.
Вы можете использовать «nohup &» для выполнения копирования в фоновом режиме. nohup заставит процесс выполняться даже после выхода из системы. В любое время вы можете проверить процесс с помощью команды «hadoop fs -ls.