Назад | Перейти на главную страницу

В Hadoop, как показать текущий процесс -copyFromLocal

Я все еще новичок в 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.