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!

Bang Dao
fuente

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.

datarockz2
fuente
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.

Travis Campbell
fuente
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.

Anan
fuente
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

Alexander Rodin
fuente
pves una herramienta tan infravalorada de la OMI. Hace el trabajo aquí perfectamente.
Michael Mior