Job MapReduce di Hadoop con Bigtable
In questo esempio viene utilizzato Hadoop per eseguire un semplice job MapReduce che conta il numero di volte in cui una parola compare in un file di testo. Il job MapReduce utilizza Bigtable per archiviare i risultati dell'operazione di mappa. 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 da 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.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
Per ulteriori informazioni, 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 uno o più file di testo e un nome di tabella come input, trova tutte le parole visualizzate nel file e conta quante volte compare ogni parola. La logica MapReduce viene visualizzata
nel classe WordCountHBase
.
In primo luogo, un mappatore tokenizza i contenuti del file di testo e genera coppie chiave-valore, in cui la chiave è una parola del file di testo e il valore è 1
:
Quindi, un riduttore somma i valori per ogni chiave e scrive i risultati nella tabella Bigtable da te specificata. 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 viene visualizzata nel file di testo.