Як показати 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.