Entrada e saída de dados do Elastic MapReduce HDFS

Escrevi um programa Hadoop que requer um determinado layout no HDFS e, posteriormente, preciso retirar os arquivos do HDFS. Ele funciona na minha configuração Hadoop de nó único e estou ansioso para fazê-lo funcionar em dezenas de nós no Elastic MapReduc

O que eu tenho feito é algo assim:

./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

Isso é assíncrono, mas quando o trabalho estiver concluído, eu posso fazer isso

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

Enquanto issotipo d funciona, mas é desajeitado e não é o que eu gostaria. Existe uma maneira mais limpa de fazer isso?

Obrigado

questionAnswers(2)

yourAnswerToTheQuestion