Todavía soy un aprendiz novato de Hadoop, y esta vez estaba tratando de procesar un archivo de 106GB. Solía -copyFromLocal
copiar 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!
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.
fuente
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.
fuente
También es posible rastrear el progreso de la lectura del archivo local usando el
pv
comando y canalizar el contenido del archivo ahdfs dfs
stdin:pv mylargefile.txt | hdfs dfs -put - /path/to/file/on/hdfs/mylargefile.txt
fuente
pv
es una herramienta tan infravalorada de la OMI. Hace el trabajo aquí perfectamente.