2011-07-30 33 views
11

He intentado una tarea simple de asignar/reducir usando Amazon Elastic MapReduce y tardé solo 3 minutos en completar la tarea. ¿Es posible reutilizar la misma instancia para ejecutar otra tarea?Reutilizar la instancia de Amazon Elastic MapReduce

Aunque acabo de usar la instancia durante 3 minutos, Amazon cargará 1 hr, por lo que quiero usar la balanza 57 minutos para ejecutar otras tareas.

+0

¿Te ayudamos a responder a tu pregunta? –

Respuesta

14

La respuesta es sí.

aquí es cómo lo hace utilizando el cliente de línea de comandos:

Cuando se crea una instancia pasar la bandera --alive, esto le dice a emr para mantener el cluster alrededor después de su trabajo se ha ejecutado.

A continuación, puede presentar más tareas al clúster:

elastic-mapreduce --jobflow <job-id> --stream --input <s3dir> --output <s3dir> --mapper <script1> --reducer <script2> 

Para terminar la agrupación después, sólo tiene que ejecutar:

elastic-mapreduce <jobid> --terminate 

intente ejecutar --help elástica-MapReduce para ver todos los comandos Tu puedes correr.

Si no tiene el cliente de línea de comandos, get it here.

+0

¿no había una limitación de 255 pasos o algo así para los clusters vivos? para que pueda reutilizarlo 255 veces, porque necesita agregar "pasos" cada vez que ejecuta un trabajo? Mucho tiempo desde que investigué esto, así que por favor avíseme si tiene actualizaciones esclarecedoras sobre esto. – marko

+0

Cómo hacer lo mismo usando aws java sdk –

+1

@marko - ese límite de 256 pasos se ha eliminado: http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/AddMoreThan256Steps.html –

0

http://aws.amazon.com/elasticmapreduce/faqs/#dev-6

Q: ¿Puedo ejecutar un flujo de trabajo persistente? Sí. El trabajo de Amazon Elastic MapReduce los flujos que se inician con el indicador -alive continuarán hasta que finalicen explícitamente. Esto permite a los clientes agregar pasos a un trabajo flujo bajo demanda. Es posible que desee utilizar esto para depurar su lógica de flujo de trabajo sin tener que esperar repetidamente para el inicio del flujo de trabajo. También puede usar un flujo de trabajo persistente para ejecutar un clúster de almacenamiento de datos de larga duración . Esto se puede combinar con el almacén de datos y los paquetes analíticos que se ejecutan en la parte superior de Hadoop, como Hive y Pig.

2

Usando:

elastic-mapreduce --jobflow job-id \ 
    --jar s3n://some-path/x.jar \ 
    --step-name "New step name" \ 
    --args ... 

también se puede agregar pasos no transmisión al clúster. (para que no tenga que probarlo usted mismo ;-))

Cuestiones relacionadas