En Hadoop, cómo mostrar el proceso actual de -copyFromLocal


10

Todavía soy un aprendiz novato de Hadoop, y esta vez estaba tratando de procesar un archivo de 106GB. Solía -copyFromLocalcopiar ese archivo grande en mi Hadoop DFS, pero como el archivo es grande, tengo que esperar mucho tiempo sin tener idea del estado actual de la copia.

¿Hay alguna forma de mostrar el estado actual de copia de archivos con este comando?

¡Gracias de antemano por su ayuda!

Respuestas:


14

CopyFromLocalno tiene la capacidad de mostrar el progreso de la copia del archivo. Alternativamente, puede abrir otro shell y ejecutar el $ watch hadoop fs -ls <filenameyouarecopying>. Esto mostrará el archivo y su tamaño una vez cada 2.0 segundos.


1
Si no está documentado, entonces no existe. :-)
SunnyShah

1

No parece que haya una opción detallada para ninguno de los comandos de copia (copyFromLocal, copyToLocal, get, put). Su mejor opción es probablemente mirar el tamaño del archivo en su destino en HDFS para medir su progreso.


1

Puede usar "nohup &" para ejecutar la copia como un proceso en segundo plano. nohup hará que el proceso se ejecute incluso después de cerrar sesión en el servidor. Cuando lo necesite, puede verificar el proceso usando "hadoop fs -ls.


1

También es posible rastrear el progreso de la lectura del archivo local usando el pvcomando y canalizar el contenido del archivo a hdfs dfsstdin:

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


pves una herramienta tan infravalorada de la OMI. Hace el trabajo aquí perfectamente.
Michael Mior
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.