Ejecutar una Tarea en Spark

En este tutorial creará una Tarea de big data por lotes con el framework de Spark, leerá datos de HDFS, los ordenará y los mostrará en la Consola.

Este tutorial utiliza la versión 6 de Talend Data Fabric Studio y un clúster de Hadoop: Cloudera CDH, versión 5.4. Reutiliza los metadatos de conexión de HDFS creados en el tutorial titulado "Cómo crear metadatos de conexión del clúster".

1. Cómo crear una nueva Tarea de big data por lotes con el framework de Spark

Para el procesamiento de big data, Talend Studio le permite crean tareas por lotes y tareas en streaming que se ejecutan en Spark o MapReduce. En este caso, creará una Tarea de big data por lotes que se ejecutará en Spark.

  1. Asegúrese de que está seleccionada la perspectiva Integration (Integración).
  2. Asegúrese de que se hayan creado los metadatos para la conexión con el clúster de Hadoop y HDFS en Project Repository (Repositorio de proyectos).
  3. En Repository (Repositorio), expanda Job Designs (Diseños de tarea), haga clic con el botón derecho en Big Data Batch (Lote de big data) y luego en Create Big Data Batch Job (Crear tarea de big data por lotes).
  4. En el campo Name (Nombre), introduzca ReadHDFS_Spark. En la lista Framework, asegúrese de que esté seleccionado Spark. En el campo Purpose (Finalidad), introduzca Read and sort customer data (Leer y ordenar datos de cliente), y en el campo Description (Descripción), introduzca Read and sort customer data stored in HDFS from a Big Data Batch Job running on Spark (Leer y ordenar datos de cliente almacenados en HDFS a partir de una Tarea de big data por lotes ejecutada en Spark) y haga clic en Finish (Terminar).

La Tarea aparecerá en Repository (Repositorio) en Job Designs > Big Data Batch (Diseños de tarea > Lote de big data) y se abrirá en Job Designer (Diseñador de tareas).

2. Utilice la definición de metadatos de HDFS para configurar la conexión a HDFS y la ejecución en Spark.

A diferencia de YARN, Spark puede conectarse a distintos sistemas de almacenamiento de archivos, como HDFS, Amazon S3 o Cassandra. Para leer sus datos desde HDFS, primero debe configurar la conexión a HDFS. Para ello puede utilizar los metadatos de conexión a HDFS disponibles en Repository (Repositorio). Los metadatos también serán de utilidad para configurar la ejecución de su Tarea en Spark.

  1. Desde Repository (Repositorio), en Metadata (Metadatos) > HadoopCluster > MyHadoopCluster > HDFS, haga clic en MyHadoopCluster_HDFS y arrástrelo a Job Designer (Diseñador de tareas). En la lista Components (Componentes), seleccione tHDFSConfiguration y haga clic en OK. Se abrirá la ventana Hadoop Configuration Update Confirmation (Confirmación de actualización de la configuración de Hadoop).
  2. Para permitir que Studio actualice la configuración de Spark para que se corresponda con los metadatos de su clúster, haga clic en OK.
  3. En la vista Run (Ejecutar), haga clic en Spark Configuration (Configuración de Spark) y compruebe que la ejecución esté configurada con los metadatos de conexión a HDFS disponibles en el Repositorio.

Puede configurar su Tarea en modo local de Spark, Spark autónomo o en Spark en YARN. El modo local se utiliza para comprobar una Tarea durante su fase de diseño. La elección entre Spark Standalone (autónomo) o Spark en YARN dependerá de la versión de Spark que tenga instalada en su clúster. Para este tutorial, elija Spark en YARN.

Para configurarlo, Studio utiliza los metadatos de conexión a HDFS, que también configuran la versión, la distribución y la dirección del gestor de recursos del clúster.

3. Cómo configurar el componente tFileInputDelimited para que lea sus datos desde HDFS

Ahora puede conectarse a HDFS y su Tarea estará configurada para ejecutarse en su clúster. Para las tareas ejecutadas en Spark, el componente tFileInputDelimited le permite leer datos desde distintos sistemas de almacenamiento de archivos.

  1. En Job Designer (Diseñador de tareas), añada tFileInputDelimited.
  2. Para abrir la vista de componente del componente tFileInputDelimited, haga doble clic en el componente.
  3. En el panel Storage (Almacenamiento), asegúrese de que esté seleccionado el componente tHDFSConfiguration como componente de configuración de almacenamiento.
  4. Para abrir el editor de esquemas, haga clic en Edit schema (Editar esquema).
  5. Para añadir columnas al esquema, haga clic en el icono [+] tres veces e introduzca los nombres de columna CustomerID, FirstName y LastName.
  6. Para cambiar el tipo de la columna CustomerID, haga clic en el campo Type (Tipo) y en Integer (Entero). Haga clic en OK para guardar el esquema.

    Método alternativo: Utilice los metadatos del Repositorio para configurar el esquema. Para obtener más información, vea el tutorial: "Crear y utilizar metadatos".
    .
  7. Para proporcionar la ubicación del archivo que se va a leer, haga clic en […] al lado del campo Folder/File (Carpeta/Archivo), navegue hasta encontrar “user/student/CustomersData” y haga clic en OK.

El componente tFileInputDelimited component ya está configurado para leer los datos de cliente de HDFS.

También son compatibles otros tipos de archivo, como AVRO, JSON o XML, y los archivos no tienen que delimitarse.

4. Ordenar datos de cliente según el valor del ID de cliente en orden ascendente

  1. Añada un tSortRow.
  2. Conecte el componente tFileInputDelimited, llamado MyHadoopCluster_HDFS, al componente tSortRow con ayuda de Main (Principal).
  3. Para abrir la vista de componente del componente tSortRow, haga doble clic en el componente.
  4. Para configurar el esquema, haga clic en Sync columns (Sincronizar columnas).
  5. Para añadir nuevos criterios a la tabla Criteria (Criterios) haga clic en el icono [+] y en la columna Schema (Esquema) seleccione CustomerID. En la columna Sort num or alpha? (¿Ordenar num. o alfa.?), seleccione num y en la columna Order asc or desc? (¿Orden asc o desc?) seleccione asc.

Con eso quedará configurado el componente tSortRow.

5. Mostrar los datos ordenados en la consola mediante el componente tLogRow

  1. Añada un componente tLogRow y conéctelo al componente tSortRow con ayuda de Main (Principal).
  2. Para abrir la vista de componente del componente tLogRow, haga doble clic en el componente.
  3. En el panel Mode (Modalidad), seleccione Table (Tabla).

Su Tarea ya está lista para ser ejecutada. Lee los datos desde HDFS, los ordena y los muestra en la consola.

6. Ejecutar la Tarea y observar el resultado en la consola

Para ejecutar la Tarea, en la vista Run (Ejecutar) abra la pestaña Basic Run (Ejecución básica) y haga clic en Run. En Job Designer (Diseñador de tareas), fíjese que el porcentaje de Tarea está al 100 % al final de la ejecución.

Los datos ordenados se muestran en la consola.