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

10

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

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

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

Банг Дао
источник

Ответы:

14

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

datarockz2
источник
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.

Анан
источник