Questions générales
-
Q : Qu'est-ce qu'Amazon Elastic MapReduce ?
-
Amazon Elastic MapReduce est un service Web qui permet aux commerces, aux chercheurs, aux analystes de données et aux développeurs de traiter aisément et économiquement de grandes quantités de données. Il utilise un logiciel hébergé Hadoop s'exécutant sur l'infrastructure d'Amazon Elastic Compute Cloud (Amazon EC2) et d'Amazon Simple Storage Service (Amazon S3) à l'échelle du Web.
-
Q : Que puis-je faire avec Amazon Elastic MapReduce ?
-
En utilisant Amazon Elastic MapReduce, vous pouvez mettre en service instantanément autant ou aussi peu de capacité que vous le souhaitez pour accomplir des tâches à forte intensité de données pour des applications telles que l'indexation Web, l'exploration de données, l'apprentissage machine, l'analyse financière, la simulation scientifique et la recherche bio-informatique. Amazon Elastic MapReduce vous permet de vous concentrer sur la lecture à grande vitesse ou l'analyse de vos données sans avoir à vous soucier de l'installation, de la gestion ou de l'ajustement des clusters Hadoop ou de vous soucier de la capacité de calcul sur laquelle elles sont basées.
Amazon Elastic MapReduce est idéal pour les problèmes dont la résolution nécessite le traitement rapide et efficace de grandes quantités de données. Les interfaces de service Web vous permettent de créer des flux de travail de traitement et de surveiller via un programme l'avancement du flux de travail en cours d'exécution. De plus, vous pouvez utiliser l'interface Web simple de AWS Management Console pour lancer vos flux de travail et surveiller le calcul à forte intensité de traitement sur les clusters des instances Amazon EC2.
-
Q : Qui peut utiliser Amazon Elastic MapReduce ?
-
Quiconque nécessite un accès simple à une analyse de données puissante peut utiliser Amazon Elastic MapReduce. Les clients n'ont pas besoin d'une expérience en développement de logiciels pour expérimenter plusieurs applications tests disponibles dans le Guide du développeur et dans notre Centre de ressources.
-
Q : Que puis-je faire avec Amazon Elastic MapReduce que je ne pouvais pas faire avant ?
-
Amazon Elastic MapReduce réduit considérablement la complexité de l'installation et de la gestion. et l'ajustement des clusters Hadoop ou la capacité informatique sur laquelle ils se basent. Vous pouvez instantanément faire tourner de grands flux de travail Hadoop qui démarreront le traitement en quelques minutes, non pas des heures ou des jours. Quand votre travail est fini, à moins que vous n'ayez demandé autre chose, le service détruit automatiquement vos instances.
En utilisant ce service, vous pouvez rapidement effectuer des tâches à forte intensité de données pour les applications telles que l'indexation Web, l'exploration de données, l'apprentissage machine, l'analyse financière, la simulation scientifique et la recherche bio-informatique.
En tant que développeur informatique, vous pouvez développer et exécuter vos propres applications, plus élaborées, vous permettant d'ajouter des fonctionnalités telles que la planification, les flux de travail, la surveillance ou d'autres caractéristiques.
-
Q : Quel est le moteur de traitement de données derrière Amazon Elastic MapReduce ?
-
Amazon Elastic MapReduce utilise Apache Hadoop comme moteur de traitement de données distribuées. Hadoop est un logiciel Java open source qui prend en charge des applications à forte intensité de données distribuées s'exécutant sur des clusters importants de matériel. Hadoop met en œuvre un modèle de programmation nommé "MapReduce" dans lequel les données sont divisées en de nombreux petits segments de travail, chacun d'entre eux pouvant être exécuté sur n'importe quel nœud du cluster. Ce logiciel a été largement utilisé par les développeurs, les entreprises et les entreprises en démarrage et s'est avéré être une plate-forme logicielle fiable pour le traitement jusqu'au téra octet de données sur des clusters de milliers de machines.
-
Q : Qu'est ce qu'un flux de travail Amazon Elastic MapReduce ?
-
Un flux de travail est un ensemble d'étapes de traitement qu'Amazon Elastic MapReduce exécute sur un ensemble de données spécifiques en utilisant un ensemble d'instances Amazon EC2. Un flux de travail consiste en une ou plusieurs étapes, chacune d'entre elles devant se terminer en séquence et avec succès pour que le flux de travail soit terminé.
-
Q : Qu'est ce qu'une étape de flux de travail ?
-
Une étape de flux de travail est une unité de traitement définie par l'utilisateur; établissant une correspondance approximative vers un algorithme qui manipule les données. Une étape est une application Hadoop MapReduce mise en oeuvre comme une ressource jar (Java) ou un programme de diffusion en continu écrit en Java, Ruby, Perl, Python, PHP,R ou C++. Par exemple, compter la fréquence à laquelle les mots apparaissent dans un document et les sortir triés par nombre, la première étape serait une application MapReduce qui compte les occurrences de chaque mot, et la seconde étape serait une application MapReduce qui trie les données sortantes à partir de la première étape basée sur le nombre.
-
Q : Que sont les différents états de flux de travail?
-
STARTING – Le flux de travail met en service, démarre et configure les instances EC2.
RUNNING – Une étape du flux de travail est en cours d'exécution.
WAITING – Le flux de travail est actuellement actif mais n'a aucune étape à exécuter.
SHUTTING_DOWN – Le flux de travail est en cours de fermeture.
COMPLETED – Le flux de travail ferme après avoir terminé les étapes avec succès.
FAILED – Le flux de travail est interrompu après l'échec d'une étape ou à cause d'une erreur interne.
TERMINATED – Le travail est interrompu à la demande de l'utilisateur.
-
Q : Que sont les différents états d'étape ?
-
PENDING – L'étape est prête à être exécutée.
RUNNING – L'étape est actuellement en cours d'exécution.
COMPLETED – L'étape s'est achevée avec succès.
CANCELLED – L'étape a été annulée avant d'être exécutée – parce qu'une étape antérieure a échoué ou parce que le flux de travail a été interrompu avant qu'il ne puisse être exécuté.
FAILED – L'étape a échoué pendant qu'elle était en cours d'exécution.
Commencer un flux de travail
-
Q : Comment puis-je accéder à Amazon Elastic MapReduce?
-
Vous pouvez accéder à Amazon Elastic MapReduce en utilisant AWS management Console, les outils de commande en ligne ou les appels d'API définis par le service.
-
Q : Comment puis-je lancer un flux de travail?
-
Vous pouvez lancer un flux de travail via AWS Management Console en remplissant un simple formulaire de demande de flux de travail. Dans le formulaire de demande, vous spécifiez le nom de votre flux de travail, l'emplacement de vos données d'entrée dans Amazon S3, votre application de traitement, l'emplacement désiré de la sortie de vos données, et le nombre et le type d'instances Amazon EC2 que vous souhaiteriez utiliser. Vous pouvez éventuellement spécifier un emplacement pour stocker vos fichiers journaux de flux de travail et la clé SSH pour vous connecter à votre flux de travail lorsqu'il est en cours d'exécution. Autrement, vous pouvez lancer un flux de travail en utilisant l'API RunJobFlow ou en utilisant la commande « créer » dans les outils de ligne de commande.
-
Q : Comment puis-je démarrer avec Amazon Elastic MapReduce ?
-
Pour vous enregistrer sur Amazon Elastic MapReduce, cliquez sur le bouton S'enregistrer à ce service Web sur la page de détails Amazon Elastic MapReduce http://aws.amazon.com/fr/elasticmapreduce. Vous devez être enregistré à Amazon EC2 et Amazon S3 pour accéder à Amazon Elastic MapReduce; si vous n'êtes pas enregistré à ces services, on vous demandera de le faire pendant le processus d'enregistrement à Amazon Elastic MapReduce. Une fois que vous êtes enregistré, consultez la documentation Amazon Elastic MapReduce qui inclut notre Guide de démarrage – le meilleur endroit pour avancer avec le service.
-
Q : Comment puis-je arrêter un flux de travail ?
-
A tout moment, vous pouvez arrêter un flux de travail via AWS Management Console en sélectionnant un flux de travail et en cliquant sur le bouton Arrêter. Autrement, vous pouvez utiliser l'API TerminateJobFlows. Si vous arrêtez un flux de travail en cours d'exécution, tout résultat qui n'aura pas été rendu persistant vers Amazon S3 sera perdu et toutes les instances Amazon EC2 seront fermées.
-
Q : Est-ce qu'Amazon Elastic MapReduce prend en charge des flux de travail multiples et simultanés ?
-
Oui. A tout moment, vous pouvez commencer un nouveau flux de travail même si vous exécutez déjà un ou plusieurs flux de travail.
-
Q : Combien de flux de travail puis-je exécuter simultanément?
-
Vous pouvez démarrer autant de flux de travail que vous le souhaitez. Vous êtes limité à 20 instances dans tous vos flux de travail. Si vous avez besoin de plus d'instances, remplissez le formulaire de demande d'instance Amazon EC2 et votre cas d'utilisation et votre augmentation d'instance seront étudiés. Si votre limite Amazon EC2 a déjà été atteinte, la nouvelle limite sera appliquée à vos flux de travail Amazon Elastic MapReduce.
Développement
-
Q : Existe-t-il des exemples de flux de travail ?
-
Le Guide du développeur Amazon Elastic MapReduce fournit deux exemples de flux de travail. Il y a aussi plusieurs exemples dans notre Centre de ressources.
-
Q : Comment développer une application de traitement de données?
-
Vous pouvez développer une tâche de traitement de données sur votre bureau, par exemple, en utilisant des plug-ins Eclipse ou NetBeans tels que des outils IBM MapReduce pour Eclipse (http://www.alphaworks.ibm.com/tech/mapreducetools) ou Karmasphere Studio (http://www.karmasphere.com). Ces outils facilitent le développement, le débogage de tâches MapReduce et les testent localement sur votre machine. De plus, vous pouvez développer votre flux de travail directement sur Amazon Elastic MapReduce en utilisant une ou plusieurs instances.
-
Q : Quel bénéfice y a t-il à utiliser des outils de commande en ligne ou des APIs par comparaison à AWS Management Console ?
-
Les outils de ligne de commande fournissent la possibilité de lancer et de surveiller via un programme l'avancement du flux de travail en cours, de créer une fonctionnalité supplémentaire personnalisée autour des flux de travail (comme les séquences avec de multiples étapes de traitement, de planification, de flux de travail ou de surveillance) ou de créer des outils à valeur ajoutée ou des applications pour d'autres clients Amazon Elastic MapReduce. Par contraste, AWS Management Console fournit une interface graphique facile à utiliser pour le lancement et la surveillance de vos flux de travail directement de votre navigateur Web.
-
Q : Puis-je ajouter des étapes à un flux de travail qui est déjà en cours d'exécution ?
-
Oui. Une fois que le travail est en cours, vous pouvez ajouter d'autres étapes en option par l'intermédiaire de l'API AddJobFlowSteps. L'API AddJobFlowSteps ajoute de nouvelles étapes à la fin de la séquence d'étape. Il se peut que vous vouliez utiliser cette API pour mettre en oeuvre une logique conditionnelle dans votre flux de travail ou pour le débogage.
-
Q : Puis-je exécuter un flux de travail persistant ?
-
Oui. Les flux de travail d'Amazon Elastic MapReduce lancés avec l'indicateur –alive continueront jusqu'à ce qu'ils soient explicitement terminés. Cela permet aux clients d'ajouter des étapes dans un flux de travail à la demande. Vous devriez peut-être utiliser ce procédé pour déboguer votre logique de flux de travail sans avoir à attendre de manière répétée que le flux de travail démarre. Vous pouvez aussi utiliser un flux de travail persistant pour exécuter un cluster d'entrepôt de données à exécution longue. Il est possible de le combiner à des entrepôts de données et des packages analytiques qui s'exécutent par dessus Hadoop, tels que Hive et Pig.
-
Q : Puis-je recevoir une notification quand mon flux de travail est fini ?
-
Pas à l'heure actuelle. Vous pouvez visualiser l'avancement de votre flux de travail sur AWS Management Console ou vous pouvez appeler l'API DescribeJobFlows pour obtenir un statut sur le flux de travail.
-
Q : Quels sont les langages de programmation qu'Amazon Elastic MapReduce prend en charge ?
-
Vous pouvez utiliser Java pour mettre en oeuvre les ressources jar Hadoop personnalisées. Autrement, vous pouvez utiliser d'autres langages y compris Perl, Python, Ruby, C++, PHP, et R via Hadoop Streaming. Veuillez consulter le Guide du développeur pour des instructions sur l'utilisation d'Hadoop Streaming.
-
Q : Quelles sont les versions de systèmes d'exploitation prises en charge avec Amazon Elastic MapReduce ?
-
Actuellement, Amazon Elastic MapReduce prend en charge Debian/Squeeze en mode 32 et 64 bits.
-
Q : Puis-je visualiser l'interface utilisateur Hadoop pendant que mon flux de travail est en cours d'exécution ?
-
Oui. Veuillez vous référer à la section Hadoop UI dans le Guide du développeur pour des instructions sur la façon d'accéder à Hadoop UI.
-
Q : Est-ce qu'Amazon Elastic MapReduce prend en charge des packages tiers ?
-
Oui. La manière recommandée pour installer des packages tiers sur votre cluster est d'utiliser les actions de démarrage. Autrement, vous pouvez grouper n'importe quelles archives tierces directement dans votre Mapper ou Reducer exécutable. Vous pouvez également charger des exécutables compilés de façon statique en utilisant le mécanisme de cache distribué Hadoop.
-
Q : Quelles sont les versions Hadoop prises en charge avec Amazon Elastic MapReduce ?
-
Amazon Elastic MapReduce prend en charge Hadoop 0.20.205 et Hadoop 1.0.3 avec des correctifs personnalisés.
-
Q : Puis-je utiliser un moteur de traitement de données autre qu'Hadoop ?
-
A l'heure actuelle, Amazon Elastic MapReduce prend en charge Hadoop 0.20.205 et Hadoop 1.0.3. Nous sommes toujours à l'écoute de nos clients et nous travaillons pour fournir des fonctionnalités supplémentaires à mesure que nos clients nous les demandent.
-
Q : Est-ce qu'Amazon offre les améliorations Hadoop à la communauté open source ?
-
Oui. Amazon Elastic MapReduce est actif parmi la communauté open source et contribue à de nombreux correctifs vers la source Hadoop.
-
Q : Est-ce qu'Amazon Elastic MapReduce met à jour la version d' Hadoop qu'il prend en charge ?
-
Amazon Elastic MapReduce met régulièrement à jour sa version prise en charge de Hadoop, basée sur les versions Hadoop de la communauté. Il se peut qu'Amazon Elastic MapReduce choisisse de passer outre certaines mises à jour Hadoop.
-
Q : Dans quels délais Amazon Elastic MapReduce retire l'assistance pour d'anciennes versions Hadoop?
-
Le service Amazon Elastic MapReduce retire l'assistance pour les anciennes versions Hadoop plusieurs mois après sa dépréciation. Cependant, les APIs d'Amazon Elastic MapReduce sont rétrocompatibles, donc si vous créez des outils sur ces APIs, ils fonctionneront même quand Amazon Elastic MapReduce met à jour la version Hadoop qu'il utilise.
Débogage
-
Q : Comment puis-je déboguer un flux de travail?
-
Vous sélectionner d'abord le flux de travail que vous voulez déboguer, ensuite vous cliquez sur le bouton Débogage pour accéder au débogage d'une fenêtre de flux de travail dans AWS Management Console. Ceci vous permettra de suivre l'avancement et d'identifier les problèmes dans les étapes, travaux, tâches ou tentatives de tâches de vos flux de travail. Autrement vous pouvez utiliser le protocole SSH dans les instances Amazon Elastic Compute Cloud (Amazon EC2) qui exécutent votre flux de travail et utilisent votre débogueur de ligne de commande pour dépanner le flux de travail.
-
Q : Quelle est la fenêtre de débogage pour le flux de travail ?
-
La fenêtre de débogage de flux de travail est une partie de AWS Management Console dans laquelle il peut suivre l'avancement et identifier les problèmes lors des étapes, travaux, tâches et tentatives de tâches de vos flux de travail. Pour avoir accès à la fenêtre de débogage de flux de travail, sélectionnez d'abord le flux de travail que vous voulez déboguer et ensuite cliquez sur le bouton Déboguer.
-
Q : Comment puis-je permettre le débogage de mon flux de travail ?
-
Pour permettre le débogage, il vous faut installer l'indicateur Activer le débogage quand vous créez un flux de travail dans AWS Management Console. Autrement, vous pouvez passer les indicateurs --enable-debugging et --log-uri dans le client de ligne de commande lors de la création d'un flux de travail.
-
Q : Où puis-je trouver les instructions sur la façon d'utiliser la fenêtre de débogage de flux de travail ?
-
Veuillez consulter la section AWS Management Console du Guide du développeur pour obtenir des instructions sur la façon d'accéder et d'utiliser le débogage de fenêtre de flux de travail.
-
Q : Quels types de flux de travail puis-je déboguer avec le débogage de fenêtre de flux de travail ?
-
Vous pouvez déboguer tous les types de flux de travail actuellement pris en charge par Amazon Elastic MapReduce y compris les ressources jar personnalisées, le streaming, Hive et Pig.
-
Q : Pourquoi dois-je m'enregistrer sur Amazon SimpleDB pour utiliser le débogage de flux de travail ?
-
Amazon Elastic MapReduce stocke les informations sur des travaux, tâches et tentatives de tâches Hadoop sous votre compte dans Amazon SimpleDB. Vous pouvez vous inscrire à Amazon SimpleDB ici.
-
Q : Puis-je utiliser la caractéristique de débogage de flux de travail sans souscription à Amazon SimpleDB ?
-
Vous pourrez parcourir des étapes de flux de travail et des journaux d'étapes, mais ne pourrez pas parcourir des travaux, tâches ou tentatives de tâches si vous n'êtes pas inscrit à Amazon SimpleDB.
-
Q : Puis-je effacer les données de l'historique du flux de travail à partir d' Amazon SimpleDB
-
Oui. Vous pouvez effacer les domaines Amazon SimpleDB qu'Amazon Elastic MapReduce a créés en votre nom. Veuillez consulter la documentation Amazon SimpleDB pour obtenir des instructions.
Gérer des données
-
Q : Comment puis-je entrer mes données dans Amazon S3 ?
-
Vous pouvez utiliser les API Amazon S3 pour télécharger les données vers Amazon S3. Autrement, vous pouvez utiliser de nombreux clients open source ou commerciaux pour télécharger facilement des données vers Amazon S3.
-
Q : Comment puis-je obtenir les journaux pour des flux de travail achevés ?
-
Les systèmes de connexion Hadoop comme les connexions utilisateurs seront placés dans le compartiment Amazon S3 que vous spécifiez quand vous créez un flux de travail.
-
Q : Compressez-vous les journaux ?
-
Non. Actuellement Amazon Elastic MapReduce ne compresse pas les journaux puisqu'il les déplace vers Amazon S3.
-
Q : Puis-je charger mes données à partir d'internet ou ailleurs que dans Amazon S3 ?
-
Oui. Votre application Hadoop peut charger les données depuis n'importe quel emplacement sur Internet ou depuis d'autres services AWS. Sachez que si vous chargez des données à partir d'Internet, des frais de bande passante EC2 s'appliqueront. Amazon Elastic MapReduce propose également un accès aux données de DynamoDB basé sur Hive.
Facturation
-
Q : Est-ce que Amazon Elastic MapReduce peut estimer le temps nécessaire à traiter mes données d'entrée ?
-
Non. Comme chaque flux de travail et chaque donnée d'entrée sont différents, nous ne pouvons pas estimer la durée de votre travail.
-
Q : Combien coûte Amazon Elastic MapReduce ?
-
Amazon Elastic MapReduce est disponible dans les régions États-Unis, UE et APAC. Comme pour le reste d'AWS, vous payez seulement ce que vous utilisez. Il n'y a pas de frais minimum et d'engagement d'avance ou de contrats à long terme. Les tarifs Amazon Elastic MapReduce s'ajoutent aux tarifs Amazon EC2 et Amazon S3 normaux.
Pour obtenir des informations relatives à la tarification Amazon Elastic MapReduce, visitez la section tarification dans la page de détails Amazon Elastic MapReduce.
Les frais Amazon EC2, Amazon S3 et Amazon SimpleDB sont facturés séparément. Le tarif pour Amazon Elastic MapReduce correspond à une heure d'instance consommée pour chaque type d'instance, à partir du moment où le flux de travail a commencé à traiter jusqu'à ce qu'il soit terminé. Chaque heure d'instance partielle consommée sera facturée comme une heure pleine. Pour des détails supplémentaires sur les types d'instances Amazon EC2, les tarifs d'instances ponctuelles Amazon EC2, les tarifs d'instances Amazon EC2 réservées, les tarifs d'Amazon S3 ou les tarifs d'Amazon SimpleDB, suivez les liens ci-dessous :
Types d'instances Amazon EC2
Tarifs d'instances réservées Amazon EC2
Tarifs d'instances ponctuelles Amazon EC2
Tarification Amazon S3
Tarification Amazon SimpleDB
-
Q : Quand la facturation de mon flux de travail de Amazon Elastic MapReduce débute-t-elle et quand finit-elle ?
-
La facturation débute quand Amazon Elastic MapReduce commence à exécuter le flux de travail. Vous recevez seulement une facture concernant les ressources que vous consommez vraiment. Par exemple, supposons que vous ayez lancé 100 petites instances standard Amazon EC2 pour un flux de travail Amazon Elastic MapReduce, avec un coût Amazon Elastic MapReduce différentiel à savoir 0,015 USD l'heure. Les instances Amazon EC2 commenceront à démarrer immédiatement, mais elles ne commenceront pas nécessairement au même moment. Amazon Elastic MapReduce effectuera un suivi du début de chaque instance et la vérifiera dans le cluster de façon à ce qu'il puisse accepter les tâches de traitement.
Pendant les 10 premières minutes suivant le lancement de votre demande, soit Amazon Elastic MapReduce commence votre flux de travail (si toutes vos instances sont disponibles), soit Amazon Elastic MapReduce vérifie autant d'instances que possible. Une fois la période des 10 minutes passée, Amazon Elastic MapReduce commencera à traiter (et à facturer) votre flux de travail dès que 90 % de vos instances demandées sont disponibles. Tandis que les 10 % restants de vos instances demandées sont vérifiés, Amazon Elastic MapReduce commence à facturer également ces instances.
Ainsi, dans l'exemple ci-dessus, si les 100 instances demandées sont disponibles, 10 minutes après avoir lancé une demande de lancement, vous serez facturé 1,50 USD de l'heure (100 * 0,015 USD) pendant la durée nécessaire à l'achèvement du flux de travail. Si seulement 90 de vos instances demandées sont disponibles une fois la série des 10 minutes passée, vous serez facturé 1,35 USD de l'heure (90 * 0,015 USD) pour la durée nécessaire au fonctionnement du nombre d'instances de votre flux de travail. Quand les 10 instances restantes sont archivées, vous serez facturé 1,50 USD de l'heure (100 * 0,015 USD) pour la durée nécessaire à l'achèvement du solde du flux de travail.
Chaque flux de travail fonctionnera jusqu'à ce que le suivant arrive : vous arrêtez le flux de travail avec l'apelle de l'API TerminateJobFlows (ou un outil équivalent), le flux de travail se ferme de lui-même, ou le flux de travail est terminé à cause d'une défaillance du logiciel ou du matériel. Les heures des instances commencées sont facturées comme des heures enitères.
-
Q : Où puis-je avoir un suivi de mon utilisation de Amazon Elastic MapReduce, Amazon EC2 et Amazon S3 ?
-
Vous pouvez suivre votre utilisation sur la page Activité de compte AWS.
-
Q : Où puis-je avoir un suivi du nombre d'heures-instances que chaque flux de travail a consommé ?
-
Oui. Sur AWS Management Console, chaque flux de travail a une colonne heures-instances normalisées qui affiche le nombre approximatif d'heures calculées utilisées par le flux de travail jusqu'à présent. Les heures-instances normalisées sont des heures de temps de calcul basées sur la norme de 1 heure de m1.small = 1 heure de temps de calcul normalisée :
- 1 heure de m1.large = 4 heures de temps de calcul normalisées
- 1 heure de m1.xlarge = 8 heures de temps de calcul normalisées
- 1 heure de c1.medium = 2 heures de temps de calcul normalisées
- 1 heure de c1.xlarge = 8 heures de temps de calcul normalisées
- 1 heure de m1.xlarge = 6 heures de temps de calcul normalisées
- 1 heure de m2.2xlarge = 12 heures de temps de calcul normalisées
- 1 heure de m2.4xlarge = 24 heures de temps de calcul normalisées
- 1 heure de cc1.4xlarge = 16 heures de temps de calcul normalisées
- 1 heure de cc2.8xlarge = 29 heures de temps de calcul normalisées
- 1 heure de cg1.4xlarge = 25 heures de temps de calcul normalisées
C'est un nombre approximatif et il ne devrait pas être utilisé à des fins de facturation. Veuillez vous référer à la page Activité de compte AWS pour l'utilisation facturée de Amazon Elastic MapReduce.
-
Q : Amazon Elastic MapReduce prend-il en charge les instances à la demande, ponctuelles et réservées Amazon EC2 ?
-
Oui. Amazon Elastic MapReduce prend en charge à la fois des instances à la demande, ponctuelles et réservées de manière transparente. Cliquez ici pour en savoir plus sur les instances Amazon EC2 réservées. Cliquez ici pour en savoir plus sur les instances ponctuelles Amazon EC2.
Sécurité
-
Q : Comment puis-je empêcher d'autres personnes de visualiser mes données pendant l'exécution du flux de travail ?
-
Amazon Elastic MapReduce commence vos instances dans vos groupes de sécurité Amazon EC2, une pour le groupe maître et une autre pour les esclaves. Le groupe de sécurité maître a un port ouvert pour la communication avec le service. Il a également un port SSH ouvert pour vous permettre d'utiliser le protocole SSH vers les instances, en utilisant la clé spécifiée au démarrage. Les esclaves commencent en groupe de sécurité séparé, ce qui permet seulement une interaction avec l'instance maître. Par défaut, les deux groupes de sécurité sont définies afin de ne pas autoriser l'accès à des ressources externes, y compris les instances Amazon EC2 appartenant à d'autres clients. Puisqu'il s'agit de groupes de sécurité à l'intérieur de votre compte, vous pouvez les reconfigurer en utilisant les outils standard EC2 ou le tableau de bord. Cliquez ici pour en savoir plus sur les groupes de sécurité EC2.
-
Q : Quel est le niveau de sécurité des données ?
-
Amazon S3 fournit les mécanismes d'authentification pour s'assurer que les données stockées sont sécurisées contre un accès non autorisé. Sauf indication contraire par le client qui télécharge les données, seul ce client peut accéder aux données. Les clients Amazon Elastic MapReduce peuvent également choisir d'envoyer les données à Amazon S3 en utilisant le protocole HTTPS pour une transmission sécurisée. De plus, Amazon Elastic MapReduce utilise toujours HTTPS pour envoyer des données entre Amazon S3 et Amazon EC2. Pour une sécurité renforcée supplémentaire, il se peut que les clients encryptent les données d'entrée avant de les télécharger vers Amazon S3 (en utilisant un outil de compression des données quelconque); ensuite ils ont besoin d'une étape de décryptage jusqu'au début de leur flux de travail quand Amazon Elastic MapReduce va chercher les données depuis Amazon S3.
Régions et zones de disponibilité
-
Q : Comment Amazon Elastic MapReduce utilise-t-il les zones de disponibilité ?
-
Amazon Elastic MapReduce lance tous les nœuds pour un cluster donné dans la même zone de disponibilité Amazon EC2. Exécuter un cluster dans la même zone améliore la performance des flux de travail parce que cela fournit un taux supérieur d'accès aux données. Par défaut, Amazon Elastic MapReduce choisit la zone de disponibilité avec les ressources les plus disponibles dans lesquelles vous pouvez exécuter votre flux de travail. Cependant, vous pouvez spécifier une autre zone de disponibilité si nécessaire.
-
Q : Dans quelles régions, ce service est-il disponible ?
-
Amazon Elastic MapReduce est actuellement disponible dans les régions USA Est (Virginie du Nord), USA Ouest (Californie du Nord), USA Ouest (Oregon), UE (Irlande), Asie-Pacifique (Singapour), Asie-Pacifique (Tokyo), Asie-Pacifique (Sydney) et Amérique du Sud (Sao Paulo).
-
Q : Quelle région devrais-je sélectionner pour exécuter mon flux de travail ?
-
Quand vous créez un flux de travail, vous devriez généralement sélectionner la région dans laquelle vos données sont situées.
-
Q : Puis-je utiliser des données européennes dans un flux de travail qui fonctionne dans la région USA et vice versa ?
-
Oui, vous pouvez. Si vous transférez des données d'une région à l'autre, vous serez facturé pour les frais de bande passante. Pour les informations sur la facturation de la bande passante, visitez la section facturation à la page de détails EC2.
Gérez votre cluster
-
Q : Comment Amazon Elastic MapReduce utilise-t-il Amazon EC2 et Amazon S3?
-
Les clients téléchargent leurs données d'entrée et une application de traitement de données dans Amazon S3. Amazon Elastic MapReduce lance ensuite un nombre d'instances Amazon EC2 comme spécifié par le client. Le service commence l'exécution du flux de travail tandis qu'il dépile les données d'entrée depuis Amazon S3 en utilisant le protocole S3N vers les instances Amazon EC2 lancées. Une fois le flux de travail fini, Amazon Elastic MapReduce transfère les données de sortie vers Amazon S3, ou les clients peuvent alors les récupérer ou les utiliser comme des données d'entrée dans un autre flux de travail.
-
Q : Comment un calcul est-il fait dans Amazon Elastic MapReduce ?
-
Amazon Elastic MapReduce utilise le moteur de traitement de données Hadoop pour effectuer les calculs mis en œuvre dans le modèle de programmation MapReduce. Le client met en œuvre son algorithme en termes de fonctions map() et reduce(). Le service démarre un nombre d'instances Amazon EC2 spécifié par le client, comprenant un maître et de plusieurs esclaves. Amazon Elastic MapReduce exécute le logiciel Hadoop sur ces instances. Le nœud maître divise les données d'entrée en blocs, et répartit le traitement des blocs au nœud esclave. Chaque nœud esclave gère ensuite la fonction map sur les données qui lui ont été attribuées, en générant des données intermédiaires. Les données intermédiaires sont ensuite triées et partagées, et envoyées vers des processus qui appliquent la fonction de réducteur sur ces données. Ces processus fonctionnent aussi sur les nœuds esclaves. Finalement, les sorties depuis les tâches de réducteur sont collectées en fichiers. Il se peut qu'un seul « flux de travail » implique une séquence de telles étapes MapReduce.
-
Q : Quel est le niveau de fiabilité d'Amazon Elastic MapReduce ?
-
Amazon Elastic MapReduce gère un cluster Amazon EC2 d'instances de calcul en utilisant des réseaux de centres de données et d'infrastructure hautement disponibles et ayant fait leurs preuves. Amazon Elastic MapReduce utilise des logiciels Hadoop tolérants à la panne, reconnus dans l'industrie, comme son moteur de traitement de données. Hadoop partage les données en de multiples sous-ensembles et assigne chaque sous-ensemble à plus d'une instance Amazon EC2. Ainsi, dans l'éventualité d'une défaillance d'une instance Amazon EC2 à traiter un sous-ensemble de données, les résultats d'une autre instance Amazon EC2 peuvent être utilisés.
-
Q : Dans quel délai mon flux de travail sera fonctionnel et prêt à traiter mes données d'entrée ?
-
Amazon Elastic MapReduce commence presque instantanément la mise en service des ressources d'instances Amazon EC2 à la demande. Si les instances ne sont pas disponibles, Amazon Elastic MapReduce continuera d'essayer de mettre en service les ressources pour votre flux de travail jusqu'à ce qu'elles soient approvisionnées ou jusqu'à ce que vous annuliez votre demande. La mise en service d'instance est faite sur la base du meilleur service et dépend du nombre d'instances requises, du moment où le flux de travail a été créé et du nombre total de demandes dans le système. Une fois que les ressources ont été mises en service, il faut moins de 15 minutes pour commencer le traitement.
Afin de garantir la capacité pour vos flux de travail au moment où vous en avez besoin, vous pouvez payer des frais en une fois pour les instances Amazon EC2 réservées afin de réserver la capacité d'instance dans le cloud à un taux horaire réduit. Comme pour les instances à la demande, les clients paient des frais seulement pendant les périodes d'exécution de leurs instances. De cette manière, les instances réservées permettent aux commerces ayant des besoins en instance connus de maintenir l'élasticité et la flexibilité des instances à la demande, tout en réduisant davantage leurs coûts d'utilisation prévisibles.
-
Q : Quels types d'instances Amazon EC2 Amazon Elastic MapReduce prend-il en charge ?
-
Amazon Elastic MapReduce prend en charge quatre familles d'Amazon EC2 Linux : instances Standard, à CPU élevée, à mémoire élevée, et Cluster Compute. Les instances Standard ont des ratios mémoires sur CPU adaptés à la plupart des applications d'utilisation générale; les instances à CPU élevée ont proportionnellement plus de ressources CPU que de mémoire (RAM) et sont mieux adaptées aux applications de calcul intensif; les instances à mémoire élevée offrent des tailles de mémoires importantes pour les applications à trafic élevé; les instances Cluster Compute ont proportionnellement des CPU élevées avec une performance réseau accrue et sont plus adaptées aux applications High Performance Compute (HPC) et aux autres applications nécessitant un lien réseau. Voir Types d'instances Amazon EC2 pour les détails des configurations disponibles.
-
Q : Comment dois-je faire pour sélectionner le bon type d'instance Amazon EC2 ?
-
Quand vous choisissez des types d'instances, vous devriez considérer les caractéristiques de votre application en ce qui concerne votre utilisation de ressources et sélectionner la famille d'instance optimale. L'un des avantages d'Amazon Elastic MapReduce avec Amazon EC2 est que vous êtes facturé à l'utilisation, ce qui le rend pratique et peu coûteux pour tester la performance de vos flux de travail sur différents types et quantités d'instances. Un moyen efficace pour déterminer le type d'instance le plus approprié est de lancer plusieurs petits clusters et de tester vos flux de travail.
-
Q : Comment puis-je sélectionner le nombre correct d'instances pour mon flux de travail ?
-
Le nombre d'instances à utiliser dans votre flux de travail dépend de l'application et devrait être fonction à la fois de la quantité de ressources requises pour stocker et traiter vos données et de la quantité de temps acceptable à l'achèvement de votre travail. En règle générale, nous recommandons que vous limitiez 60 % de votre espace disque pour le stockage des données que vous allez traiter, laissant le reste pour les sorties intermédiaires. Ainsi, pour une réplication 3x donnée sur HDFS, si vous espériez traiter 5 To sur des instances m1.xlarge, qui disposent de 1 690 Go d'espace disque, nous recommandons que votre cluster contienne au moins (5 To x 3) / (1 690 Go x 0,6) = 15 nœuds principaux m1.xlarge. Vous pouvez augmenter ce nombre si votre flux de travail génère une grande quantité de données intermédiaires ou a des exigences E/S importantes. Vous pouvez aussi inclure des nœuds de tâches supplémentaires pour améliorer la performance de traitement. Consultez Types d'instance Amazon EC2 pour des détails sur le stockage d'instance local pour chaque configuration de types d'instance.
-
Q : Combien de temps va prendre mon flux de travail ?
-
Le temps pour exécuter votre flux de travail dépendra de plusieurs facteurs, comprenant le type de votre flux de travail, la quantité de données d'entrée, et le nombre et le type d'instances Amazon EC2 que vous choisissez pour votre flux de travail.
-
Q : Si le nœud maître dans un flux de travail baisse, Amazon Elastic MapReduce peut-il le récupérer ?
-
Non. Si le nœud maître baisse, votre flux de travail sera interrompu et vous devrez exécuter de nouveau votre travail. Amazon Elastic MapReduce ne prend pas en charge actuellement les basculements automatiques des nœuds maîtres ou la récupération d'état du nœud maître. Dans le cas d'un échec du nœud maître, AWS Management console affiche le message « Le nœud maitre a été interrompu »; ceci vous indique que vous devez commencer un nouveau flux de travail. Les clients peuvent instrumenter le point de contrôle dans leurs flux de travail pour sauvegarder des données immédiates (données créées au milieu d'un flux de travail qui n'a pas encore été réduit) sur Amazon S3. Ceci permettra de reprendre le flux de travail à partir du point de contrôle en cas d'échec.
-
Q : Si un nœud esclave dans un flux de travail baisse, Amazon Elastic MapReduce peut-il s'en remettre ?
-
Oui. Amazon Elastic MapReduce est tolérant aux pannes pour les échecs esclaves et continue l'exécution du travail si un nœud esclave baisse. Dans la version antérieure, Amazon Elastic MapReduce ne met pas automatiquement en service un autre noeud pour convertir des esclaves qui ont échoués.
-
Q : Puis-je utiliser le protocole SSH sur mes nœuds principaux ?
-
Oui. Vous pouvez utiliser le protocole SSH sur vos nœuds de cluster et exécuter les commandes Hadoop directement à partir de là. Si vous avez besoin d'utiliser le protocole SSH dans un nœud esclave, vous devez d'abord utiliser le protocole SSH jusqu'au nœud maître et utiliser ensuite le protocole SSH dans le nœud esclave.
-
Q : Puis-je utiliser les instances Microsoft Windows avec Amazon Elastic MapReduce ?
-
A l'heure actuelle, Amazon Elastic MapReduce prend en charge Debian/Lenny en modes 32 et 64 bit. Nous sommes toujours à l'écoute des avis de nos clients et nous ajouterons plus de capacités au fil du temps afin d'aider nos clients à résoudre leurs problèmes professionnels de traitement à grande vitesse de données.
-
Q : Qu'est ce qu'Amazon Elastic MapReduce Boostrap Actions ?
-
Bootstrap Actions est une caractéristique dans Amazon Elastic MapReduce qui fournit aux utilisateurs un moyen d'exécuter un paramétrage personnalisé, antérieur à l'exécution du flux de travail. Bootstrap Actions peut être utilisé pour installer un logiciel ou pour configurer des instances avant d'exécuter votre flux de travail.
-
Q : Comment puis-je utiliser Bootstrap Actions ?
-
Vous pouvez écrire un script Bootstrap Action dans n'importe quel langage déjà installé sur l'instance du flux de travail, y compris Bash, Perl, Python, Ruby, C++, ou Java. Plusieurs actions de démarrages pré-définies sont disponibles. Une fois le script écrit, vous devez le télécharger vers Amazon S3 et référencez son emplacement quand vous commencez un flux de travail. Veuillez consulter le « Guide du développeur » : http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/ pour obtenir des détails sur la façon d'utiliser Bootstrap Actions.
-
Q : Comment puis-je configurer les paramétrages Hadoop pour mon flux de travail ?
-
La configuration Hadoop par défaut d'Elastic MapReduce est adaptée à la majorité des charges de travail. Toutefois, en fonction des exigences spécifiques de mémoire et de traitement de votre flux de travail, il peut être plus adapté de personnaliser ces paramètres. Par exemple, si les tâches de votre flux de travail utilisent intensivement la mémoire, vous pouvez choisir d'utiliser moins de tâches par nœud principal et de réduire la taille du segment de mémoire du pistage de votre travail. Dans cette situation, une action de démarrage prédéfinie est disponible pour configurer votre flux de travail au lancement. Consultez Configurer une action de démarrage à mémoire intensive dans le Guide du développeur pour les détails de configuration et les instructions d'utilisation. Une action de démarrage prédéfinie supplémentaire est disponible et vous permet de personnaliser vos paramètres de cluster sur n'importe quelles valeurs de votre choix. Consultez Configurer une action de démarrage Hadoop dans le Guide du développeur pour des instructions d'utilisation.
-
Q : Puis-je modifier le nombre de nœuds esclaves dans un flux de travail en cours d'exécution ?
-
Oui. Il y a deux types de nœuds maîtres: (1) les nœuds principaux qui à la fois hébergent des données persistantes en utilisant HDFS et exécutent des tâches Hadoop et (2) les nœuds de tâches qui exécutent seulement des tâches Hadoop. Tandis qu'un flux de travail est en cours d'exécution, vous pouvez augmenter le nombre de nœuds principaux et vous pouvez soit augmenter soit diminuer le nombre de nœuds de tâches. Ceci peut être fait via l'API, JAVA SDK ou via la ligne de commande client. Consultez la section Redimensionnement des flux de travail en cours d'exécution dans le guide du développeur pour obtenir des détails sur la façon de modifier la taille de votre flux de travail en cours d'exécution.
-
Q : Quand voudrais-je utiliser des nœuds principaux par opposition à des nœuds de tâches ?
-
Comme les nœuds principaux hébergent des données persistantes dans HDFS et ne peuvent pas être supprimés, ils doivent être réservés à la capacité requise jusqu'à la fin du flux de travail. Comme les nœuds de tâches peuvent être ajoutés ou supprimés et ne doivent pas contenir HDFS, ils sont idéaux pour une capacité requise seulement sur une base temporaire.
-
Q : Pourquoi voudrais-je modifier le nombre de nœuds esclaves dans mon flux de travail en cours d'exécution ?
-
Plusieurs scénarii existent où vous pouvez vouloir modifier le nombre de nœuds esclaves dans un flux de travail en cours d'exécution. Si votre flux de travail s'exécute plus lentement que prévu, ou que les exigences de rythme changent, vous pouvez augmenter le nombre de nœuds principaux pour augmenter la performance du flux de travail. Si différentes phases de votre flux de travail ont des exigences de capacité différentes, vous pouvez commencer avec un petit nombre de nœuds principaux et augmenter ou diminuer le nombre de nœuds de tâches pour satisfaire les exigences de capacités variables de votre flux de travail.
-
Q : Puis-je modifier automatiquement le nombre de nœuds esclaves entre les étapes de flux de travail ?
-
Oui. Vous pouvez inclure une étape pré-définie dans votre flux de travail qui redimensionne automatiquement un flux de travail entre les étapes, connues comme ayant des exigences de capacité différentes. Comme toutes les étapes sont garanties de s'exécuter de façon séquentielle, ceci vous permet de définir le nombre de nœuds esclaves qu'exécutera une étape de flux de travail donné.
-
Q : Comment puis-je permettre à d'autres utilisateurs IAM d'accéder à mon flux de travail ?
-
Afin de créer un flux de travail visible par tous les utilisateurs IAM, procédez comme suit au sein de l'interface de ligne de commande EMR : ajoutez l'indication --visible-to-all-users au moment où vous créez le flux de travail. Exemple : elastic-mapreduce --create --visible-to-all-users. Dans la console de gestion, sélectionnez simplement Visible to all IAM Users dans le volet Advanced Options de l'assistant de création de flux de travail.
Afin qu'un flux de travail existant devienne visible par tous les utilisateurs IAM, vous devez utiliser l'interface de ligne de commande EMR. Utilisez --set-visible-to-all-users et précisez l'identifiant du flux de travail. Exemple : elastic-mapreduce --set-visible-to-all-users true --jobflow j-xxxxxxx. Seul le créateur du flux de travail peut effectuer cette tâche.
Pour en savoir plus, consultez la section Configuring User Permissions du manuel EMR Developer Guide.
Utiliser Hive
-
Q : Qu'est-ce que Apache Hive ?
-
Hive est un entrepôt de données open source et un package analytique qui s'exécute au-dessus d'Hadoop. Hive est exploité avec langage de base SQL appelé Hive QL qui permet aux utilisateurs de structurer, résumer et interroger des sources de données stockées dans Amazon S3. Hive QL va au-delà du SQL standard, en ajoutant une assistance de première catégorie en ce qui concerne les fonctions map/réduire et les types de données complexes extensibles définies par l'utilisateur comme Json et Thrift. Cette capacité permet le traitement de sources de données complexes et même non structurées comme les documents textes et les fichiers journaux. Hive permet les extensions utilisateurs via les fonctions définies par l'utilisateur, écrites en Java et déployées par le stockage dans Amazon S3.
-
Q : Que puis-je faire avec Hive s'exécutant sur Amazon Elastic MapReduce ?
-
En utilisant Hive avec Amazon Elastic MapReduce, vous pouvez mettre en oeuvre des applications élaborées de traitement de données avec un langage familier du type SQL et des outils faciles à utiliser avec Amazon Elastic MapReduce. Avec Amazon Elastic MapReduce, vous pouvez transformer vos applications Hive en entrepôts de données fiables pour exécuter les tâches telles que des analyses de données, la surveillance et des tâches de veille économique.
-
Q : En quoi Hive est-il différent des systèmes traditionnels SGBDR (RDBMS) ?
-
Les systèmes SGBDR traditionnels fournissent les sémantiques de transaction et les propriétés ACID. Ils permettent également aux tables d'être indexées et mises en cache, de façon à ce que de petites quantités de données puissent être récupérées très rapidement. Ils fournissent une mise à jour rapide de petites quantités de données et le renforcement de contraintes d'intégrité référentielle. Traditionnellement, ils s'exécutent sur une seule machine de grande taille et ne fournissent pas d'assistance pour l'exécution des fonctions map et réduire sur la table ; ils ne fournissent pas non plus d'assistance en ce qui concerne les types complexes de données, définis par l'utilisateur.
Par opposition, Hive exécute des demandes similaires à SQL en utilisant MapReduce. En conséquence, il est optimisé dans les numérisations de tables entières pendant qu'il fonctionne sur un cluster de machines et est par conséquent capable de traiter de très grandes quantités de données. Hive fournit des tables partitionnées, ce qui lui permet de numériser une partition de table plutôt que la table entière pour la requête qu'il est entrain d'exécuter, si c'est approprié.
Les systèmes SGRBD traditionnels sont meilleurs pour les situations dans lesquelles la sémantique transactionnelle et l'intégrité référentielle sont requises et de petites mises à jour fréquentes effectuées. Hive est meilleur pour le rapport hors ligne, la transformation et l'analyse de grands ensembles de données ; par exemple, effectuer une analyse de parcours d'un grand site ou d'un ensemble de sites.
L'une des méthodes courantes est d'exporter les données des systèmes SGRBD dans Amazon S3 lorsque l'analyse hors ligne peut être effectuée en utilisant les flux de travail Amazon Elastic MapReduce exécutant Hive.
-
Q : Comment puis-je débuter avec Hive en fonctionnement sur Amazon Elastic MapReduce ?
-
La meilleure façon de débuter est de revoir votre tutoriel vidéo ou votre tutoriel écrit, situé ici http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2862
-
Q : Existe-t-il de nouvelles caractéristiques dans Hive, qui sont spécifiques à Amazon Elastic MapReduce ?
-
Oui. Quatre nouvelles caractéristiques existent et font de Hive un outil encore plus puissant quand il est utilisé avec Amazon Elastic MapReduce, y compris :
a/ La capacité de charger des partitions de table automatiquement depuis Amazon S3. Auparavant, pour importer une table partitionnée, vous aviez besoin d'une autre instruction de table séparée pour chaque partition individuelle de la table. Amazon Elastic MapReduce inclut maintenant un nouveau type d'instruction pour le langage Hive : « alter table recover partitions ». Cette instruction vous permet d'importer facilement des tables simultanément dans de nombreux flux de travail sans avoir à entretenir un magasin de métadonnées partagées. Utilisez cette fonctionnalité pour lire à partir des tables dans lesquelles des processus externes déposent des données, par exemple des fichiers journaux.
b/ La capacité à spécifier un magasin de métadonnées hors instance. Par défaut, le magasin de métadonnées dans lequel Hive stocke son schéma d'informations dans le nœud maître et cesse d'exister quand le flux de travail se termine. Cette caractéristique vous permet d'annuler l'emplacement du magasin de métadonnées à utiliser, par exemple une instance MySQL que vous faites déjà fonctionner dans EC2.
c/ Écrire des données directement vers Amazon S3. Quand elle écrit des données sur des tables sur Amazon S3, la version de Hive installée dans Amazon Elastic MapReduce écrit directement sur Amazon S3 sans l'utilisation de fichiers temporaires. Ceci produit une amélioration de performance considérable mais signifie que HDFS et S3 se comportent différemment du point de vue de Hive. Vous ne pouvez pas lire et modifier la même table à l'intérieur de la même instruction si cette table est placée dans Amazon S3. Si vous voulez mettre à jour une table placée dans S3, créez alors une table temporaire dans le fichier système SDFS local du flux de travail, modifiez les résultats de cette table, ensuite copiez-les vers Amazon S3.
d/ Accéder aux ressources situées dans Amazon S3. La version de Hive installée dans Amazon Elastic MapReduce vous permet de référencer des ressources telles que les scripts pour des opérations map et réduire personnalisées ou des bibliothèques supplémentaires situées dans Amazon S3 directement à l'intérieur de votre script Hive (e.g., add jar s3://elasticmapreduce/samples/hive-ads/libs/jsonserde.jar).
-
Q : Quels types de flux de travail Hive sont pris en charge ?
-
Deux types de flux de travail sont pris en charge avec Hive : le mode interactif et le mode lot. Dans un mode interactif, un client peut démarrer un flux de travail et exécuter des scripts Hive de façon interactive et directement sur le nœud maître. Traditionnellement, ce mode est utilisé pour faire des analyses de données ad hoc et pour le développement d'application. Dans le mode lot, le script Hive est stocké dans Amazon S3 et référencé au début du flux de travail. Traditionnellement, le mode lot est utilisé pour des séquences qui peuvent être répétées telles que la génération de rapport.
-
Q : Comment puis-je lancer un flux de travail Hive ?
-
Les flux de travail en mode lot et en mode interactif peuvent tous les deux être démarrés à partir de AWS Management Console, de la ligne de commande client Elastic MapReduce ou d'API. Veuillez vous référer à la section Utiliser Hive dans le Guide du développeur pour plus d'informations sur la façon de lancer un flux de travail Hive.
-
Q : Quand devrais-je utiliser Hive par opposition à PIG ?
-
Hive et PIG fournissent tous les deux des langages de traitement de données de haut niveau avec une assistance pour les types de données complexes dans le cadre du fonctionnement de grands ensembles de données. Le langage Hive est une variante de SQL et est ainsi plus accessible aux personnes déjà familières avec les bases de données SQL et les bases de données relationnelles. Hive prend en charge les tables partitionnées, ce qui permet aux flux de travail de Amazon Elastic MapReduce de détruire seulement la partition de table appropriée à la requête en cours d'exécution plutôt que de numériser une table entière. PIG et Hive ont tous deux une optimisation de plan de requête. PIG est capable d'optimiser à travers un script entier pendant que des requêtes Hive sont optimisées au niveau de l'instruction.
Finalement, le choix qui consiste à utiliser Hive ou PIG dépendra des exigences exactes du domaine d'application et des préférences des ingénieurs de mise en application et de ceux qui écrivent des requêtes.
-
Q : Quelle version de Hive est supportée par Amazon Elastic MapReduce ?
-
Amazon Elastic MapReduce prend en charge Hive 0.7.1 et 0.8.1.
-
Q : Puis-je écrire simultanément sur une table à partir de deux flux de travail ?
-
Non. Hive ne prend pas en charge l'écriture simultanée sur des tables. Vous devriez éviter d'écrire simultanément sur la même table ou de lire à partir d'une table pendant que vous écrivez dessus. Hive a un comportement non déterministe quand il lit et écrit en même temps ou écrit et modifie en même temps.
-
Q : Puis-je partager des données entre des flux de travail ?
-
Oui. Vous pouvez lire des données dans Amazon S3 à l'intérieur d'un script Hive en ayant des instructions « créer une table externe » en amont de votre script. Vous avez besoin d'une instruction de création de table pour chaque ressource externe à laquelle vous avez accès.
-
Q : Devrais-je exécuter un grand flux de travail et le partager parmi de nombreux utilisateurs ou exécuter de nombreux flux de travail plus petits ?
-
Amazon Elastic MapReduce fournit une opportunité unique afin de vous permettre d'utiliser les deux méthodes. D'un côté un important flux de travail peut être plus efficace pour le traitement de charges de travail par lot réguliers. D'un autre côté, si vous avez besoin d'effectuer des requêtes ou des charges de travail ad hoc qui varient dans le temps, vous pouvez choisir de créer plusieurs flux de travail séparés, adaptés à une tâche spécifique de partage de sources de données stockées dans Amazon S3.
-
Q : Puis-je accéder à une ressource script ou à un ressource jar qui est sur mon système de fichiers local ?
-
Non. Vous devez télécharger le script ou la ressource jar vers Amazon S3 ou le nœud maître du flux de travail avant qu'il puisse être référencé. Pour télécharger vers Amazon S3, vous pouvez utiliser les outils, y compris s3cmd, jets3t ou S3Organizer.
-
Q : Puis-je exécuter un flux de travail persistant en exécutant des requêtes Hive multiples ?
-
Oui. Vous exécutez un flux de travail selon un mode d'arrêt manuel de façon à ce qu'il ne s'arrête pas entre des étapes Hive. Pour réduire le risque de perte de données, nous vous recommandons de conserver périodiquement toutes vos données importantes dans Amazon S3. Une bonne habitude consiste à transférer régulièrement votre travail vers un nouveau flux de travail pour tester votre processus de récupération à partir d'une défaillance d'un nœud maitre.
-
Q : Des utilisateurs multiples peuvent-ils exécuter des étapes Hive sur la même base de données ?
-
Oui. Les scripts Hive exécutés par des utilisateurs multiples sur des flux de travail séparés peuvent contenir des instructions de tables externes pour importer simultanément des données sources qui résident dans Amazon S3.
-
Q : Des utilisateurs multiples peuvent-ils exécuter des requêtes sur le même flux de travail ?
-
Oui. Dans le mode lot, les étapes sont en série. Les utilisateurs multiples peuvent ajouter des étapes Hive au même flux de travail, cependant, les étapes seront exécutées en série. Dans le mode interactif, plusieurs utilisateurs peuvent se connecter sur le même flux de travail et exécuter les instructions Hive simultanément.
-
Q : Est-ce que les données peuvent être partagées entre des utilisateurs AWS multiples ?
-
Oui. Les données peuvent être partagées en utilisant un mécanisme de partage Amazon S3 standard, décrit ici http://docs.amazonwebservices.com/AmazonS3/latest/index.html?S3_ACLs.html
-
Q : Est-ce que Hive prend en charge l'accès à partir de JDBC ?
-
Oui. Hive fournit un lecteur JDBC, qui peut être utilisé pour exécuter les instructions Hive via un programme. Pour démarrer un service JDBC dans votre flux de travail, vous devez passer un paramètre facultatif dans la ligne de commande client Amazon Elastic MapReduce. Vous devez également établir un tunnel SSH parce que le groupe de sécurité ne permet pas de connexions externes.
-
Q : Quelle est la procédure pour mettre à jour les packages sur les APIs Elastic MapReduce ?
-
Nous gérons un ensemble de logiciels sélectionnés à partir de Debian/stable y compris des versions provisoires de sécurité. Nous mettrons à jour un package chaque fois qu'il sera mis à jour dans Debian/stable. Le progiciel « r-recommended » sur notre image est à jour avec Debian/table (http://packages.debian.org/search?keywords=r-recommended).
-
Q : Puis-je mettre à jour mes propres progiciels sur les flux de travail Elastic MapReduce ?
-
Oui. Vous pouvez utiliser des actions de démarrage pour installer des mises à jour des packages sur vos clusters.
-
Q : Puis-je traiter des données DynamoDB à l'aide de Hive ?
-
Oui. Définissez simplement une table Hive externe basée sur votre table DynamoDB. Vous pouvez ensuite utiliser Hive pour analyser les données stockées dans DynamoDB et soit recharger les résultats dans DynamoDB, soit les archiver dans Amazon S3. Pour plus d'informations, veuillez consulter notre Guide du développeur.
Utiliser Pig
-
Qu'est-ce que Apache Pig ?
-
Pig est un package analytique open source qui s'exécute au-dessus de Hadoop. Pig est exploité avec un langage de base SQM appelé Pig Latin qui permet aux utilisateurs de structurer, résumer et interroger des sources de données stockées dans Amazon S3. Tout comme les opérations de type SQL, Pig Latin ajoute également une assistance de première catégorie pour les fonctions map/réduire et les types de données complexes et extensibles définis par l'utilisateur. Cette capacité permet le traitement de sources de données complexes et même non structurées comme les documents textes et les fichiers journaux. Pig permet les extensions utilisateurs par les fonctions définies par l'utilisateur, écrites en Java et déployées par le stockage dans Amazon S3.
-
Q : Que puis-je faire avec Hive en fonctionnement sur Amazon Elastic MapReduce ?
-
En utilisant Pig avec Amazon Elastic MapReduce, vous pouvez mettre en oeuvre des applications élaborées de traitement de données avec un langage familier du type de SQL et des outils faciles à utiliser avec Amazon Elastic MapReduce. Avec Amazon Elastic MapReduce, vous pouvez transformer vos applications Pig en entrepôts de données fiables pour exécuter les données telles que des tâches analytiques de données, de surveillance et des tâches de veille économique.
-
Q : Comment puis-je débuter avec Pig fonctionnant sur Amazon Elastic MapReduce?
-
La meilleure façon de débuter est de revoir votre tutoriel vidéo ou votre tutoriel écrit, situé ici http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2735&categoryID=269
-
Q : Existe-t-il de nouvelles caractéristiques dans Pig, spécifiques à Amazon Elastic MapReduce?
-
Oui. Trois nouvelles caractéristiques existent et font de Pig un outil encore plus puissant quand il est utilisé avec Amazon Elastic MapReduce, y compris :
a/ Accéder au fichiers systèmes multiples. Par défaut, un travail Pig peut seulement accéder à un système de fichier distant, qu'il soit dans un magasin HDFS ou un compartiment S3, pour des données d'entrée, de sortie ou temporaires. Elastic MapReduce a étendu Pig de telle façon qu'un travail puisse accéder à autant de systèmes de fichiers. Un avantage de cette caractéristique est que les données temporaires internes au travail sont toujours stockées sur le HDFS local, qui conduit à l'amélioration des performances.
b/ Charger des ressources à partir de S3. Elastic MapReduce a étendu Pig afin que les ressources JAR et les scripts personnalisés puissent venir depuis le système de fichier S3, par exemple « REGISTER s3:///my-bucket/piggybank.jar »
c/ Fonction Piggybank additionnelle pour le traitement String et DateTime. Ils sont documentés ici http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2730.
-
Q : Quels types de flux de travail Pig sont pris en charge ?
-
Deux types de flux de travail sont pris en charge avec Pig : le mode interactif et le mode lot. Dans un mode interactif, un client peut démarrer un flux de travail, et exécuter des scripts Pig de façon interactive et directement sur le nœud maître. Traditionnellement, ce mode est utilisé pour faire des analyses de données ad hoc et pour le développement d'application. Dans le mode lot, le script Pig est stocké dans Amazon S3 et référencé au début du flux de travail. Traditionnellement, le mode lot est utilisé pour des séquences qui peuvent être répétées telles que la génération de rapport.
-
Q : Comment puis-je lancer un flux de travail Pig ?
-
Les flux de travail en mode lot et en mode interactif peuvent tous les deux être démarrés à partir de AWS Management Console, de la ligne de commande client Elastic MapReduce ou d'API.
-
Q : Quelle version de Pig est prise en charge par Amazon Elastic MapReduce ?
-
Amazon Elastic MapReduce prend en charge Pig version 0.6 et Pig version 0.9.1.
-
Q : Puis-je écrire simultanément sur un compartiment S3 à partir de deux flux de travail ?
-
Oui, vous pouvez modifier le même compartiment à partir de deux flux de travail simultanés.
-
Q : Puis-je partager des données d'entrée dans S3 entre deux flux de travail ?
-
Oui, vous pouvez lire les mêmes données dans S3 à partir de deux flux de travail simultanés.
-
Q : Est-ce que les données peuvent être partagées entre des utilisateurs AWS multiples ?
-
Oui. Les données peuvent être partagées en utilisant un mécanisme de partage Amazon S3 standard, décrit ici http://docs.amazonwebservices.com/AmazonS3/latest/index.html?S3_ACLs.html
-
Q : Devrais-je exécuter un grand flux de travail et le partager parmi de nombreux utilisateurs ou exécuter de nombreux flux de travail plus petits ?
-
Amazon Elastic MapReduce fournit une opportunité unique afin de vous permettre d'utiliser les deux méthodes. D'un côté un important flux de travail peut être plus efficace pour le traitement de charges de travail par lot réguliers. D'un autre côté, si vous avez besoin d'effectuer des requêtes ou des charges de travail ad hoc qui varient dans le temps, vous pouvez choisir de créer plusieurs flux de travail séparés, adaptés à une tâche spécifique de partage de sources de données stockées dans Amazon S3.
-
Q : Puis-je accéder à une ressource script ou à un ressource jar qui est sur mon système de fichiers local ?
-
Non. Vous devez télécharger le script ou la ressource jar vers Amazon S3 ou le nœud maître du flux de travail avant qu'il puisse être référencé. Pour télécharger vers Amazon S3, vous pouvez utiliser les outils, y compris s3cmd, jets3t ou S3Organizer.
-
Q : Puis-je exécuter un flux de travail persistant en exécutant des requêtes Pig multiples ?
-
Oui. Vous exécutez un flux de travail selon un mode d'arrêt manuel de façon à ce qu'il ne s'arrête pas entre des étapes Pig. Pour réduire le risque de perte de données, nous vous recommandons de conserver périodiquement toutes vos données importantes dans Amazon S3. Une bonne habitude consiste à transférer régulièrement votre travail vers un nouveau flux de travail pour tester votre processus de récupération à partir d'une défaillance d'un nœud maitre.
-
Q : Est-ce que Pig prend en charge un accès à partir de JDBC ?
-
Non. Pig ne prend pas en charge l'accès via JDBC.