Job MapReduce di Hadoop con Bigtable
Questo esempio utilizza Hadoop per eseguire un semplice job MapReduce che conta il numero di volte in cui una parola appare in un file di testo. Il job MapReduce utilizza Bigtable per archiviare i risultati dell'operazione di mapping. Il codice per
questo esempio si trova nel repository GitHub
GoogleCloudPlatform/cloud-bigtable-examples, nella directory
java/dataproc-wordcount.
Configura l'autenticazione
Per utilizzare gli esempi Java in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Se utilizzi una shell locale, crea le credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Non devi eseguire questa operazione se utilizzi Cloud Shell.
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Panoramica dell'esempio di codice
L'esempio di codice fornisce una semplice interfaccia a riga di comando che accetta come input uno o più file di testo e un nome di tabella, trova tutte le parole che appaiono nel file e conta quante volte appare ogni parola. La logica MapReduce viene visualizzata
nella WordCountHBase classe.
Innanzitutto, un mapper tokenizza i contenuti del file di testo e genera coppie chiave-valore, dove la chiave è una parola del file di testo e il valore è 1:
Un reducer somma quindi i valori per ogni chiave e scrive i risultati in una tabella Bigtable che hai specificato. Ogni chiave di riga è una parola del file di testo. Ogni riga contiene una colonna cf:count, che contiene il numero di volte in cui la chiave di riga appare nel file di testo.