Je travaille sur un petit projet pour me familiariser avec les services Web Amazon. J'essaye de faire une application web simple; lorsqu'un bouton est pressé, un travail mapreduce est lancé et la sortie est renvoyée sur le navigateur. Quel serait le meilleur moyen de le faire? De plus, existe-t-il un moyen de lancer un travail d'amazon elastic mapreduce via la ligne de commande?Démarrer le travail Amazon Elastic MapReduce à distance?
Répondre
Vous pouvez utiliser AWS SDK dans la langue dans laquelle vous écrivez votre application Web pour effectuer des appels à EMR afin de soumettre un travail. Je travaille principalement avec python, donc je suis très familier avec la bibliothèque Python Boto, ce qui me permet de télécharger du code et des données sur s3, de configurer un flux de travaux et de lancer ce flux de travaux.
Vous ne voulez pas lancer le travail et renvoyer les résultats dans la même requête HTTP car il faudra plusieurs minutes pour démarrer le cluster avant que le travail ne puisse être exécuté. Une application Web avec des pages qui ne répondent pas aux minutes n'est pas une bonne expérience utilisateur. Cependant, il suffit de soumettre un flux de travail pour prendre quelques secondes. Vous devez créer le flux de travaux et suivre les identifiants du flux de travaux dans votre application Web. Étant donné un ID de flux de travaux, vous ne devriez pas avoir trop de problèmes à récupérer des données de journaux ou à les sortir du flux de travail lorsque l'utilisateur revient et que le travail est terminé.
Voici un exemple de la façon dont on pourrait lancer un travail élastique avec M. Boto:
import boto
from boto.emr.step import StreamingStep
conn = boto.connect_emr()
step = StreamingStep(name='My wordcount example',
mapper='s3n://elasticmapreduce/samples/wordcount/wordSplitter.py',
reducer='aggregate',
input='s3n://elasticmapreduce/samples/wordcount/input',
output='s3n://<my output bucket>/output/wordcount_output')
jobid = conn.run_jobflow(name='My jobflow',
log_uri='s3://<my log uri>/jobflow_logs',
steps=[step])
Avez-vous déjà donné un coup d'œil? http://developer.amazonwebservices.com/connect/entry.jspa?externalID=873 Il est du côté du dev et pourrait vous aider.
oui, je l'ai vu. Mais comment invoquer un script shell à distance via une application web? – Kareem
- 1. Amazon Elastic MapReduce: Exception de FileSystem
- 2. Amazon MapReduce aucun travail de réduction
- 3. Traitement de CloudFront-logs avec Elastic MapReduce (PIG)
- 4. Comment puis-je utiliser Hive avec Amazon Elastic Mapreduce pour traiter des données dans Amazon Simple DB?
- 5. Dépannage du script du mappeur R sur Amazon Elastic MapReduce - Résultats non conformes
- 6. Puis-je exécuter une application .NET (ou une méthode à partir de .NET dll) dans Amazon Elastic MapReduce?
- 7. Amazon Elastic MapReduce: Impossible de créer un flux de travaux avec un grand nombre d'instances
- 8. Comment utiliser le client Ruby CLI pour lancer un JobFlow basé sur une description JSON JobFlow sur Amazon Elastic MapReduce
- 9. Traitement de fichiers avec Elastic MapReduce - Pas d'étape de réduction?
- 10. Déploiement Amazon Elastic Cloud et Silverlight
- 11. Comment augmenter le Amazon Elastic Block Store (EBS)?
- 12. démarrer le travail par lots à partir de IIS
- 13. Comprendre R-Hive, Elastic MapReduce, RHIPE et l'extraction de texte Distrubted avec R
- 14. Amazon Auto Scaling Service peut-il fonctionner avec Elastic Map Reduce Service?
- 15. Comment télécharger à distance des fichiers sur Amazon S3?
- 16. Démarrer un service à distance à partir C#
- 17. Cela ressemble à un travail pour MapReduce ... mais je ne peux pas le comprendre
- 18. Travail Hadoop MapReduce dans un fichier contenant des balises HTML
- 19. Map Réduire le travail sur Amazon: argument pour jar personnalisé
- 20. API de contrôle à distance ou comment démarrer?
- 21. Comment (pré) démarrer le service de flux de travail xamlx
- 22. VS2008: impossible de démarrer le débogage, le moniteur de débogage à distance a été fermé
- 23. Hadoop: Performance itérative MapReduce
- 24. Modification du répertoire de travail pour un processus à distance
- 25. Usurpation d'identité lors de l'exécution d'un travail déclenché à distance
- 26. Elastic Load Balancing
- 27. Quelle est la différence entre Windows Azure et Amazon Elastic Compute Cloud?
- 28. Terminez à distance un flux de travail Sharepoint
- 29. Mot clé STREAM dans un script cochon qui s'exécute dans Amazon Mapreduce
- 30. Comment démarrer/arrêter le service Tomcat à distance en utilisant Ant
oui merci Mike. J'ai beaucoup utilisé python ces derniers temps aussi. Les bibliothèques boto et paramiko sont incroyablement utiles pour créer des clusters et y entrer pour exécuter des commandes. – Kareem
Pas de problème, Kareem. :-) Alors, tu es une application web en Python alors? – stderr