Información general de los esquemas en AWS Glue - AWS Glue

Información general de los esquemas en AWS Glue

nota

En este momento, la característica de esquemas no está disponible en las siguientes regiones de la consola de AWS Glue: Asia Pacífico (Yakarta) y Medio Oriente (Emiratos Árabes Unidos).

Los esquemas de AWS Glue proporcionan una forma de crear y compartir flujos de trabajo de AWS Glue. Cuando hay un proceso de ETL complejo que podría utilizarse para casos de uso similares, en lugar de crear un flujo de trabajo de AWS Glue para cada caso de uso, puede crear un único esquema.

El proyecto especifica los trabajos y rastreadores que se incluirán en un flujo de trabajo, y especifica los parámetros que el usuario del flujo de trabajo proporciona al ejecutar el proyecto para crear un flujo de trabajo. El uso de parámetros permite que un único proyecto genere flujos de trabajo para los distintos casos de uso similares. Para obtener más información acerca de los flujos de trabajo, consulte Información general de los flujos de trabajo en AWS Glue.

A continuación, se muestran ejemplos de casos de uso de proyectos:

  • El usuario desea crear una partición de un conjunto de datos existente. Los parámetros de entrada al proyecto son las rutas de origen y destino de Amazon Simple Storage Service (Amazon S3) y una lista de columnas de partición.

  • El usuario desea realizar una instantánea de una tabla de Amazon DynamoDB en un almacén de datos SQL como Amazon Redshift. Los parámetros de entrada del esquema son el nombre de la tabla de DynamoDB y una conexión de AWS Glue, que designa un clúster de Amazon Redshift y una base de datos de destino.

  • El usuario desea convertir datos CSV en varias rutas de Amazon S3 a Parquet. El usuario desea que el flujo de trabajo de AWS Glue incluya un rastreador y un trabajo independientes para cada ruta. Los parámetros de entrada son la base de datos de destino en el catálogo de datos de AWS Glue y una lista delimitada por comas de rutas de Amazon S3. Tenga en cuenta que, en este caso, el número de rastreadores y trabajos que crea el flujo de trabajo es variable.

Componentes del esquema

Un proyecto es un archivo ZIP que tiene los siguientes componentes:

  • Un script del generador de diseño Python

    Contiene una función que especifica el diseño del flujo de trabajo: los rastreadores y trabajos que se van a crear para el flujo de trabajo, las propiedades del trabajo y del rastreador, y las dependencias entre los trabajos y los rastreadores. La función acepta los parámetros del esquema y devuelve una estructura de flujo de trabajo (objeto JSON) que AWS Glue utiliza para generar el flujo de trabajo. Dado que usted utiliza un script de Python para generar el flujo de trabajo, puede agregar su propia lógica que sea adecuada para sus casos de uso.

  • Archivo de configuración

    Especifica el nombre completo de la función de Python que genera el diseño del flujo de trabajo. También especifica los nombres, tipos de datos y otras propiedades de todos los parámetros del proyecto utilizados por el script.

  • (Opcional) scripts de ETL y archivos auxiliares

    Como caso de uso avanzado, puede parametrizar la ubicación de los scripts de ETL que utilizan sus trabajos. Puede incluir archivos de script de trabajo en el archivo ZIP y especificar un parámetro del proyecto para una ubicación de Amazon S3 en la que se copiarán los scripts. El script del generador de diseño puede copiar los scripts de ETL en la ubicación designada y especificar esa ubicación como propiedad de ubicación del script de trabajo. También puede incluir bibliotecas u otros archivos auxiliares, siempre que el script los maneje.

La caja con la etiqueta Blueprint (Proyecto) contiene dos cajas más pequeñas, una con la etiqueta Python Script (Script de Python) y la otra con la etiqueta Config File (Archivo de config).
Ejecuciones del proyecto

Cuando crea un flujo de trabajo a partir de un esquema, AWS Glue ejecuta el esquema, que inicia un proceso asíncrono para crear el flujo de trabajo y los trabajos, rastreadores y desencadenadores que el flujo de trabajo encapsula. AWS Glue utiliza la ejecución del esquema para orquestar la creación del flujo de trabajo y sus componentes. Para ver el estado del proceso de creación, consulte el estado de ejecución del proyecto. La ejecución del proyecto también almacena los valores que ha proporcionado para los parámetros del proyecto.

La caja con la etiqueta Blueprint run (Ejecución del proyecto) contiene íconos etiquetados como Workflow (Flujo de trabajo) y Parameter Values (Valores de parámetros).

Puede visualizar ejecuciones de esquemas con la consola de AWS Glue o AWS Command Line Interface (AWS CLI). Al ver o solucionar problemas de un flujo de trabajo, siempre puede volver a la ejecución del proyecto para ver los valores de parámetro de proyecto que se utilizaron para crear el flujo de trabajo.

Ciclo de vida de un esquema

Los esquemas se desarrollan, prueban y registran con AWS Glue, y se ejecutan para crear flujos de trabajo. En general, hay tres personas involucradas en el ciclo de vida de un proyecto.

Persona Tareas
Desarrollador de AWS Glue
  • Escribe el script de diseño del flujo de trabajo y crea el archivo de configuración.

  • Realiza pruebas locales del esquema con las bibliotecas proporcionadas por el servicio de AWS Glue.

  • Crea un archivo ZIP del script, el archivo de configuración y los archivos auxiliares, y publica el archivo en una ubicación de Amazon S3.

  • Agrega una política de bucket al bucket de Amazon S3 que concede permisos de lectura en objetos de bucket a la cuenta de AWS del administrador de AWS Glue.

  • Concede permisos de lectura de IAM en el archivo ZIP de Amazon S3 al administrador de AWS Glue.

Administrador de AWS Glue
  • Registra el esquema en AWS Glue. AWS Glue realiza una copia del archivo ZIP en una ubicación reservada de Amazon S3.

  • Otorga permisos de IAM en el proyecto a los analistas de datos.

Analista de datos
  • Ejecuta el proyecto para crear un flujo de trabajo y proporciona valores de parámetros del proyecto. Comprueba el estado de ejecución del proyecto para asegurarse de que el flujo de trabajo y sus componentes se generaron en forma correcta.

  • Ejecuta y soluciona los problemas del flujo de trabajo. Antes de ejecutar el flujo de trabajo, puede verificarlo al acceder al gráfico de diseño del flujo de trabajo en la consola de AWS Glue.