sql >> Base de Datos >  >> NoSQL >> HBase

¿Qué es el par de valores clave de MapReduce en Hadoop?

En este tutorial de Hadoop , le proporcionaremos una introducción completa a MapReduce Key Value Pair.

En primer lugar, discutiremos qué es un par de valores clave en Hadoop, cómo se genera un par de valores clave en MapReduce. Por último, explicaremos la generación de pares de valores clave de MapReduce con ejemplos.

¿Qué es el par de valores clave en Hadoop?

El par clave-valor en MapReduce es la entidad de registro que Hadoop MapReduce acepta para su ejecución.

Usamos Hadoop principalmente para análisis de datos. Se trata de datos estructurados, no estructurados y semiestructurados. Con Hadoop, si el esquema es estático, podemos trabajar directamente en la columna en lugar del valor clave. Pero, si el esquema no es estático, trabajaremos en un valor clave.

El valor de las claves no son las propiedades intrínsecas de los datos. Pero son elegidos por el usuario que analiza los datos.

MapReduce es el componente central de Hadoop, que proporciona procesamiento de datos. Realiza el procesamiento dividiendo el trabajo en dos fases:Fase de mapa y Fase de reducción . Cada fase tiene un valor clave como entrada y salida.

Generación de pares de valores clave de MapReduce en Hadoop

En la ejecución del trabajo de MapReduce, antes de enviar datos al mapeador , primero conviértalo en pares clave-valor. Porque mapeador solo pares clave-valor de datos.

El par clave-valor en MapReduce se genera de la siguiente manera:

División de entrada:  Es la representación lógica de los datos que InputFormat genera En el programa MapReduce, describe una unidad de trabajo que contiene una sola tarea de mapa.

Lector de registros:  Se comunica con el InputSplit. Después de eso, convierte los datos en pares de valores clave adecuados para que Mapper los lea. RecordReader utiliza de forma predeterminada TextInputFormat  para convertir datos en pares de valores clave.

En la ejecución del trabajo de MapReduce, la función de mapa procesa un determinado par clave-valor. Luego emite un cierto número de pares clave-valor. La función Reducir procesa los valores agrupados por la misma clave.

Luego emite otro conjunto de pares clave-valor como salida. Los tipos de salida del mapa deben coincidir con los tipos de entrada de Reducir, como se muestra a continuación:

  • Mapa: (K1, V1) -> lista (K2, V2)
  • Reducir: {(K2, lista (V2}) -> lista (K3, V3)

¿Sobre qué base se genera un par clave-valor en Hadoop?

MapReduce La generación de pares clave-valor depende totalmente del conjunto de datos. También depende de la salida requerida. El marco especifica el par clave-valor en 4 lugares:Asignar entrada/salida, Reducir entrada/salida.

1. Entrada de mapa

Map Input por defecto toma el desplazamiento de línea como la clave. El contenido de la línea es valor como Texto. Podemos modificarlos; usando el formato de entrada personalizado.

2. Salida del mapa

El Mapa se encarga de filtrar los datos. También proporciona el entorno para agrupar los datos en función de la clave.

  • Clave– Es un campo/texto/objeto en el que los datos se agrupan y agregan en el reductor .
  • Valor– Es el campo/texto/objeto que cada individuo reduce el método maneja.

3. Reducir entrada

La salida del mapa es una entrada para reducir. Así que es lo mismo que Map-Output.

4. Reducir la salida

Depende totalmente de la salida requerida.

Ejemplo de par clave-valor de MapReduce

Por ejemplo, el contenido del archivo que  HDFS las tiendas son Chandler es Joey Mark es John . Entonces, ahora, al usar InputFormat, definiremos cómo se dividirá y leerá este archivo. De forma predeterminada, RecordReader utiliza TextInputFormat para convertir este archivo en un par clave-valor.

  • Clave:  Se desplaza del comienzo de la línea dentro del archivo.
  • Valor:  Es el contenido de la línea, excluyendo los terminadores de línea.

Aquí, Clave es 0 y Valor es Chandler es Joey Mark es John.

Conclusión

En conclusión, podemos decir que el valor clave es solo una entidad de registro que MapReduce acepta para su ejecución. InputSplit y RecordReader generan un par clave-valor. Por lo tanto, la clave es el desplazamiento de bytes y el valor es el contenido de la línea.

Espero que les haya gustado este blog. Si tiene alguna sugerencia o consulta relacionada con el par de valores clave de MapReduce, deje un comentario en la sección que figura a continuación.