Tâche MapReduce Hadoop avec Bigtable
Cet exemple utilise Hadoop pour effectuer une tâche MapReduce simple qui compte le nombre d'occurrences d'un mot dans un fichier texte. La tâche MapReduce utilise Bigtable pour stocker les résultats de l'opération de mappage. Le code de cet exemple se trouve dans le dépôt GitHub GoogleCloudPlatform/cloud-bigtable-examples, dans le répertoire java/dataproc-wordcount
.
Configurer l'authentification
Pour utiliser les exemples Java de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Pour en savoir plus, consultez Set up authentication for a local development environment.
Présentation de l'exemple de code
L'exemple de code fournit une interface de ligne de commande simple qui utilise un ou plusieurs fichiers texte et un nom de table en entrée. Il trouve tous les mots figurant dans le fichier et compte le nombre d'occurrences de chacun. La logique MapReduce est incluse dans la classe WordCountHBase
.
Tout d'abord, un mappeur segmente le contenu du fichier texte et génère des paires clé/valeur, où la clé est un mot du fichier texte et la valeur est 1
:
Un réducteur additionne ensuite les valeurs de chaque clé et écrit les résultats dans une table Bigtable que vous avez spécifiée. Chaque clé de ligne est un mot du fichier texte. Chaque ligne contient une colonne cf:count
qui indique le nombre d'occurrences de la clé de ligne dans le fichier texte.