Trabajo de MapReduce de Hadoop con Bigtable
En este ejemplo, se usa Hadoop para ejecutar un trabajo simple de MapReduce que cuente la cantidad de veces que una palabra aparece en un archivo. En el trabajo de MapReduce, se 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.
Configura la autenticación
Para usar las muestras de Java de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI 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.
Descripción general del código de muestra
La muestra de código proporciona una interfaz simple de la línea de comandos que toma uno o más archivos de texto y un nombre de tabla como entradas, busca todas las palabras que aparecen en el archivo y cuenta cuántas veces aparece cada una. La lógica de MapReduce aparece en la clase WordCountHBase.
En primer lugar, un asignador convierte en token el contenido del archivo de texto y genera pares clave-valor, en los que la clave es una palabra del archivo de texto y el valor es 1:
Luego, un reductor suma los valores de cada clave y escribe los resultados en una tabla de Bigtable que especifiques. Cada clave de fila es una palabra del archivo de texto. Cada fila incluye una columna cf:count, que contiene la cantidad de veces que la clave de fila aparece en el archivo de texto.