Talend - Reducir mapa

En el capítulo anterior, hemos visto cómo Talend trabaja con Big Data. En este capítulo, entenderemos cómo utilizar map Reduce con Talend.

Creación de un trabajo de Talend MapReduce

Aprendamos a ejecutar un trabajo MapReduce en Talend. Aquí ejecutaremos un ejemplo de recuento de palabras de MapReduce.

Para ello, haga clic con el botón derecho en Diseño de trabajo y cree un nuevo trabajo: MapreduceJob. Mencione los detalles del trabajo y haga clic en Finalizar.

Adición de componentes al trabajo MapReduce

Para agregar componentes a un trabajo de MapReduce, arrastre y suelte cinco componentes de Talend: tHDFSInput, tNormalize, tAggregateRow, tMap, tOutput desde la paleta a la ventana del diseñador. Haga clic derecho en tHDFSInput y cree el enlace principal para tNormalize.

Haga clic derecho en tNormalize y cree el enlace principal a tAggregateRow. Luego, haga clic derecho en tAggregateRow y cree el enlace principal a tMap. Ahora, haga clic derecho en tMap y cree el enlace principal a tHDFSOutput.

Configurar componentes y transformaciones

En tHDFSInput, seleccione la distribución cloudera y su versión. Tenga en cuenta que el URI de Namenode debe ser "hdfs: //quickstart.cloudera: 8020" y el nombre de usuario debe ser "cloudera". En la opción de nombre de archivo, proporcione la ruta de su archivo de entrada al trabajo MapReduce. Asegúrese de que este archivo de entrada esté presente en HDFS.

Ahora, seleccione el tipo de archivo, el separador de filas, el separador de archivos y el encabezado de acuerdo con su archivo de entrada.

Haga clic en editar esquema y agregue el campo "línea" como tipo de cadena.

En tNomalize, la columna a normalizar será la línea y el separador de elementos será un espacio en blanco -> "". Ahora, haga clic en editar esquema. tNormalize tendrá una columna de línea y tAggregateRow tendrá 2 columnas de palabras y recuento de palabras como se muestra a continuación.

En tAggregateRow, ponga palabra como columna de salida en la opción Agrupar por. En operaciones, ponga el recuento de palabras como columna de salida, la función como recuento y la posición de la columna de entrada como línea.

Ahora haga doble clic en el componente tMap para ingresar al editor de mapas y mapear la entrada con la salida requerida. En este ejemplo, la palabra se asigna con la palabra y el recuento de palabras se asigna con el recuento de palabras. En la columna de expresiones, haga clic en […] para ingresar al generador de expresiones.

Ahora, seleccione StringHandling de la lista de categorías y la función UPCASE. Edite la expresión a "StringHandling.UPCASE (fila3.word)" y haga clic en Aceptar. Mantenga row3.wordcount en la columna de expresión correspondiente al recuento de palabras como se muestra a continuación.

En tHDFSOutput, conéctese al clúster de Hadoop que creamos a partir del tipo de propiedad como repositorio. Observe que los campos se completarán automáticamente. En Nombre de archivo, proporcione la ruta de salida donde desea almacenar la salida. Mantenga la Acción, el separador de filas y el separador de campos como se muestra a continuación.

Ejecución del trabajo MapReduce

Una vez que su configuración se haya completado con éxito, haga clic en Ejecutar y ejecute su trabajo MapReduce.

Vaya a su ruta HDFS y verifique la salida. Tenga en cuenta que todas las palabras estarán en mayúsculas con su recuento de palabras.