Introducir datos dentro y fuera de Elastic MapReduce HDFS

He escrito un programa Hadoop que requiere un cierto diseño dentro de HDFS y que luego necesito sacar los archivos de HDFS. Funciona en mi configuración de Hadoop de nodo único y estoy ansioso por hacerlo funcionar en 10 de nodos dentro de Elastic MapReduce.

Lo que he estado haciendo es algo como esto:

./elastic-mapreduce --create --alive
JOBID="j-XXX" # output from creation
./elastic-mapreduce -j $JOBID --ssh "hadoop fs -cp s3://bucket-id/XXX /XXX"
./elastic-mapreduce -j $JOBID --jar s3://bucket-id/jars/hdeploy.jar --main-class com.ranjan.HadoopMain --arg /XXX

Esto es asíncrono, pero cuando el trabajo se haya completado, puedo hacer esto

./elastic-mapreduce -j $JOBID --ssh "hadoop fs -cp /XXX s3://bucket-id/XXX-output"
./elastic-mapreduce -j $JOBID --terminate

Así que estealgo así com funciona, pero es torpe y no es lo que me gustaría. ¿Hay una forma más limpia de hacer esto?

¡Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta