Tarea de MapReduce de Hadoop con Bigtable
En este ejemplo se usa Hadoop para realizar una tarea MapReduce sencilla que cuenta el número de veces que aparece una palabra en un archivo de texto. El trabajo de MapReduce usa Bigtable para almacenar los resultados de la operación de asignación. El código de este ejemplo se encuentra en el repositorio de GitHub GoogleCloudPlatform/cloud-bigtable-examples, en el directorio java/dataproc-wordcount
.
Configurar la autenticación
Para usar las Java muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
Información general sobre el código de ejemplo
El ejemplo de código proporciona una interfaz de línea de comandos sencilla que toma como entrada uno o varios archivos de texto y un nombre de tabla, busca todas las palabras que aparecen en el archivo y cuenta cuántas veces aparece cada palabra. La lógica de MapReduce aparece en la clase WordCountHBase
.
En primer lugar, un mapper tokeniza el contenido del archivo de texto y genera pares clave-valor, donde la clave es una palabra del archivo de texto y el valor es 1
:
A continuación, un reductor suma los valores de cada clave y escribe los resultados en una tabla de Bigtable que hayas especificado. Cada clave de fila es una palabra del archivo de texto. Cada fila contiene una columna cf:count
, que incluye el número de veces que aparece la clave de fila en el archivo de texto.