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


10

Я все еще новичок в Hadoop, и на этот раз я пытался обработать файл размером 106 ГБ. Раньше я -copyFromLocalкопировал этот большой файл в мою Hadoop DFS, но так как файл большой, мне приходится долго ждать, не зная о текущем статусе копирования.

Есть ли способ показать текущее состояние копирования файла с помощью этой команды?

Заранее спасибо, ребята, за помощь!

Ответы:


14

CopyFromLocalне имеет возможности отображать процесс копирования файла. Кроме того, вы можете открыть другую оболочку и запустить $ watch hadoop fs -ls <filenameyouarecopying>. Это будет отображать файл и его размер один раз каждые 2,0 секунды.


1
Если это не зарегистрировано тогда, это не существует. :-)
SunnyShah

2

Также можно отслеживать ход чтения локального файла с помощью pvкоманды и передавать содержимое файла в hdfs dfsstdin:

pv mylargefile.txt | hdfs dfs -put - /path/to/file/on/hdfs/mylargefile.txt


pvтакой недооцененный инструмент ИМО. Делает работу здесь отлично.
Майкл Миор

1

Не похоже, что есть какая-либо подробная опция для любой из команд копирования (copyFromLocal, copyToLocal, get, put). Лучше всего, вероятно, посмотреть на размер файла в месте его назначения в HDFS, чтобы оценить его прогресс.


1

Вы можете использовать «nohup &» для выполнения копирования в качестве фонового процесса. nohup заставит процесс выполняться даже после выхода из сервера. Когда вам нужно, вы можете проверить процесс, используя "hadoop fs -ls.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.