Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Traitement des données avec Streaming - Amazon EMR

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Traitement des données avec Streaming

Le streaming Hadoop est un utilitaire fourni avec Hadoop qui vous permet de développer des MapReduce exécutables dans des langages autres que Java. Streaming est mis en œuvre sous la forme d'un fichier JAR, afin que vous puissiez l'exécuter à partir de la ligne de commande ou de l'API Amazon EMR, tout comme un fichier JAR standard.

Cette section décrit comment utiliser le streaming avec Amazon EMR.

Note

Le streaming Apache Hadoop est un outil indépendant. En tant que tel, ses fonctions et ses paramètres ne sont pas tous décrits ici. Pour plus d'informations sur le streaming Hadoop, rendez-vous sur http://hadoop.apache. org/docs/stable/hadoop-streaming/HadoopStreaming.html.

Utilisation de l'utilitaire de streaming Hadoop

Cette section décrit comment utiliser l'utilitaire de streaming Hadoop.

Processus Hadoop
1

Ecrivez votre exécutable mappeur et réducteur dans le langage de programmation de votre choix.

Suivez les instructions dans la documentation Hadoop pour écrire vos exécutable de diffusion en continu. Les programmes doivent lire leur entrée à partir de données d'entrée et de sortie standard par le biais de sortie standard. Par défaut, chaque ligne d'entrée/sortie représente un enregistrement et le premier onglet sur chaque ligne est utilisé comme séparateur entre la clé et la valeur.

2

Testez vos exécutables localement et chargez-les sur Amazon S3.

3

Utilisez l'interface de ligne de commande d'Amazon EMR ou la console d'Amazon EMR pour exécuter votre application.

Chaque script mappeur se lance comme un processus distinct dans le cluster. Chaque exécutable de réducteur remplace le résultat de l'exécutable du mappeur par la sortie de données du flux de travail.

Les paramètres input, output, mapper, et reducer sont requis par la plupart des applications de streaming. Le tableau suivant décrit ces paramètres et d'autres, facultatifs.

Paramètre Description Obligatoire
-input

Emplacement des données d'entrée sur Amazon S3.

Type : String

Par défaut : aucun

Contrainte : URI. Si aucun protocole n'est spécifié, il utilise alors le système de fichiers par défaut du cluster.

Oui
-output

Emplacement sur Amazon S3 où Amazon EMR charge les données traitées.

Type : String

Par défaut : aucun

Contrainte : URI

Par défaut : si aucun emplacement n'est spécifié, Amazon EMR charge les données à l'emplacement spécifié par input.

Oui
-mapper

Nom de l'exécutable du mappeur.

Type : String

Par défaut : aucun

Oui
-reducer

Nom de l'exécutable du réducteur.

Type : String

Par défaut : aucun

Oui
-cacheFile

Un emplacement Amazon S3 qui contient des fichiers que Hadoop peut copier dans votre répertoire de travail local (principalement pour améliorer les performances).

Type : String

Par défaut : aucun

Contraintes : [URI]#[nom symlink à créer dans répertoire de travail]

Non
-cacheArchive

Fichier JAR à extraire dans le répertoire de travail

Type : String

Par défaut : aucun

Contraintes : [URI]#[nom de répertoire symlink à créer dans répertoire de travail

Non
-combiner

Combine les résultats

Type : String

Par défaut : aucun

Contraintes : nom de classe Java

Non

L'exemple de code suivant est un exécutable de mappeur écrit dans Python. Ce script fait partie de l' WordCount exemple d'application.

#!/usr/bin/python import sys def main(argv): line = sys.stdin.readline() try: while line: line = line.rstrip() words = line.split() for word in words: print "LongValueSum:" + word + "\t" + "1" line = sys.stdin.readline() except "end of file": return None if __name__ == "__main__": main(sys.argv)
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.