Configuración de las propiedades de trabajos para trabajos de Spark en AWS Glue - AWS Glue

Configuración de las propiedades de trabajos para trabajos de Spark en AWS Glue

Cuando define su trabajo en la consola de AWS Glue, proporciona valores de propiedades para controlar el entorno en tiempo de ejecución de AWS Glue.

Definición de propiedades de trabajo para trabajos de Spark

En la siguiente lista se describen las propiedades de un trabajo de Spark. Para ver las propiedades de un trabajo de shell de Python, consulte Definición de las propiedades de trabajos de shell de Python. Para obtener información sobre las propiedades de un trabajo ETL de streaming, consulte Definición de propiedades de trabajo para un trabajo ETL de streaming.

Las propiedades se muestran en el orden en que aparecen en el asistente Add job (Agregar trabajo) en la consola de AWS Glue.

Nombre

Proporciona una cadena UTF-8 con una longitud máxima de 255 caracteres

Descripción

Brinde una descripción adicional de hasta 2048 caracteres.

Rol de IAM

Especifique el rol de IAM que se utiliza para dar una autorización sobre los recursos que se utilizan para ejecutar el trabajo y obtener acceso a los almacenes de datos. Para obtener más información acerca de los permisos para ejecutar trabajos en AWS Glue, consulte Administración de identidades y accesos para AWS Glue.

Tipo

El tipo de trabajo de ETL. Este se establece de manera automática según el tipo de origen de datos que se seleccione.

versión de AWS Glue

La versión de AWS Glue determina las versiones de Apache Spark y Python que están disponibles para el trabajo, como se especifica en la tabla a continuación.

Versión de AWS Glue Versiones de Spark y Python admitidas
4.0
  • Spark 3.3.0

  • Python 3.10

3.0
  • Spark 3.1.1

  • Python 3.7

2.0
  • Spark 2.4.3

  • Python 3.7

1.0
  • Spark 2.4.3

  • Python 2.7

  • Python 3.6

0.9
  • Spark 2.2.1

  • Python 2.7

Idioma

El código del script de ETL define la lógica del trabajo. El script se puede codificar en Python o en Scala. Puede elegir si AWS Glue genera el script que el flujo de trabajo ejecuta o bien si usted mismo lo proporciona. Proporcione el nombre del script y la ubicación en Amazon Simple Storage Service (Amazon S3). Compruebe que no haya un archivo con el mismo nombre que el directorio de script en la ruta. Para obtener más información acerca de cómo usar scripts, consulte Guía de programación de AWS Glue.

Tipo de empleado

Están disponibles los siguientes tipos de proceso de trabajo:

Los recursos disponibles para los trabajadores de AWS Glue se miden en DPU. Una DPU es una medida relativa de la potencia de procesamiento que consta de 4 vCPU de capacidad de cómputo y 16 GB de memoria.

  • G.1X: al elegir este tipo, también debe proporcionar un valor para Número de empleados. Cada trabajador se asigna a 1 DPU (4 vCPU, 16 GB de memoria) con un disco de 84 GB (aproximadamente 34 GB libres). Recomendamos este tipo de trabajador para cargas de trabajo como transformaciones de datos, uniones y consultas, ya que ofrece una forma escalable y rentable de ejecutar la mayoría de los trabajos.

  • G.2X: al elegir este tipo, también debe proporcionar un valor para Número de empleados. Cada trabajador se asigna a 2 DPU (8 vCPU, 32 GB de memoria) con un disco de 128 GB (aproximadamente 77 GB libres). Recomendamos este tipo de trabajador para cargas de trabajo como transformaciones de datos, uniones y consultas, ya que ofrece una forma escalable y rentable de ejecutar la mayoría de los trabajos.

  • G.4X: al elegir este tipo, también debe proporcionar un valor para Número de empleados. Cada trabajador se asigna a 4 DPU (16 vCPU, 64 GB de memoria) con un disco de 256 GB (aproximadamente 235 GB libres). Recomendamos este tipo de trabajador para los trabajos cuyas cargas de trabajo contengan las transformaciones, agregaciones, uniones y consultas más exigentes. Este tipo de trabajador solo está disponible para los trabajos de Spark ETL de la versión 3.0 de AWS Glue o posteriores en las siguientes regiones de AWS: Este de EE. UU. (Ohio), Este de EE. UU. (Norte de Virginia), Oeste de EE. UU. (Oregón), Asia Pacífico (Singapur), Asia Pacífico (Sídney), Asia Pacífico (Tokio), Canadá (centro), Europa (Fráncfort), Europa (Irlanda) y Europa (Estocolmo).

  • G.8X: al elegir este tipo, también debe proporcionar un valor para Número de empleados. Cada trabajador se asigna a 8 DPU (32 vCPU, 128 GB de memoria) con un disco de 512 GB (aproximadamente 487 GB libres). Recomendamos este tipo de trabajador para los trabajos cuyas cargas de trabajo contengan las transformaciones, agregaciones, uniones y consultas más exigentes. Este tipo de trabajador solo está disponible para los trabajos ETL de Spark de la versión 3.0 de AWS Glue o posteriores, en las mismas regiones de AWS compatibles con el tipo de trabajador G.4X.

  • G.025X: al elegir este tipo, también debe proporcionar un valor para Número de empleados. Cada trabajador se asigna a 0,25 DPU (2 vCPU, 4 GB de memoria) con un disco de 84 GB (aproximadamente 34 GB libres). Le recomendamos este tipo de proceso de trabajo para trabajos de streaming de bajo volumen. Este tipo de proceso de trabajo solo está disponible para trabajos de streaming con la versión 3.0 de AWS Glue.

Se le cobra una tarifa por hora en función de la cantidad de DPU que se utilizan para ejecutar sus trabajos ETL. Para obtener más información, consulte la página de precios de AWS Glue.

Para trabajos de AWS Glue versión 1.0 o anterior, cuando configura un trabajo con la consola y especifica un Worker type (Tipo de empleado) de Standard (Estándar), se configura la Maximum capacity (Capacidad máxima) y el Number of workers (Número de empleados) se convierte en el valor de Máximum capacity (Capacidad máxima): 1. Si utiliza AWS Command Line Interface (AWS CLI) o AWS SDK, puede especificar el parámetro Max capacity (Capacidad máxima) o puede especificar tanto Worker type (Tipo de empleado) como Number of workers (Número de empleados).

Para trabajos de versión 2.0 de AWS Glue o posterior, no puede especificar una Capacidad máxima. En su lugar, debe especificar un Worker type (Tipo de empleado) y el Number of workers (Número de empleados).

Número de trabajadores requerido

Para la mayoría de los tipos de trabajador, debe especificar el número de trabajadores que se asigna cuando se ejecuta el trabajo.

Job bookmark (Marcador de flujo de trabajo)

Especifique cómo AWS Glue procesará la información de estado cuando se ejecute el flujo de trabajo. Puede hacer que recuerde datos procesados previamente, actualice la información de estado o no tenga en cuenta dicha información. Para obtener más información, consulte Seguimiento de los datos procesados mediante marcadores de trabajo.

Filas de trabajo ejecutadas

Especifica si las ejecuciones de trabajos se ponen en fila para ejecutarse más tarde cuando no pueden ejecutarse inmediatamente debido a las cuotas de servicio.

Si está marcada, la fija de ejecución de trabajos está habilitada para las ejecuciones de trabajos. Si no se completa, los trabajos ejecutados no se considerarán para ponerlos en fila.

Si esta configuración no coincide con el valor establecido en la ejecución del trabajo, se utilizará el valor proveniente del campo de ejecución del trabajo.

Ejecución flexible

Al configurar un trabajo mediante AWS Studio o la API, puede especificar una clase de ejecución de trabajos estándar o flexible. Sus trabajos pueden tener diferentes grados de prioridad y sensibilidad temporal. La clase de ejecución estándar es ideal para cargas de trabajo urgentes que requieren un inicio rápido de los trabajos y recursos dedicados.

La clase de ejecución flexible es adecuada para trabajos no urgentes, como trabajos de preproducción, pruebas y cargas de datos únicas. Se admiten ejecuciones de trabajos flexibles para trabajos que utilizan AWS Glue versión 3.0 o posterior y tipos de empleados G.1X o G.2X.

Las ejecuciones de trabajos flexibles se facturan en función del número de empleados que se ejecutan en un momento dado. Se puede agregar o eliminar el número de trabajadores para una ejecución de trabajo flexible en ejecución. En lugar de facturar como un simple cálculo de Max Capacity * Execution Time, cada trabajador contribuirá por el tiempo que ejecutó durante la ejecución del trabajo. La factura es la suma de (Number of DPUs per worker * time each worker ran).

Para obtener más información, consulte el panel de ayuda de AWS Studio o Jobs y Ejecuciones de trabajo.

Número de reintentos

Especifique el número de veces, entre 0 y 10, que AWS Glue debe reiniciar automáticamente el flujo de trabajo si se produce un error. Los trabajos que alcanzan el límite de tiempo de espera no se reinician.

Job timeout (Tiempo de espera de flujo de trabajo)

Establece el tiempo de ejecución máximo en minutos. El valor predeterminado es 2880 minutos (48 horas) para los trabajos por lotes. Cuando el tiempo de ejecución de un trabajo supera este límite, el estado de ejecución de trabajo cambia a TIMEOUT.

Los trabajos de streaming deben tener valores de tiempo de espera inferiores a 7 días o 10 080 minutos. Si el valor se deja en blanco, el trabajo se reiniciará al cabo de 7 días si no se ha configurado un período de mantenimiento. Si ha configurado un período de mantenimiento, se reiniciará durante el período de mantenimiento a los 7 días.

Prácticas recomendadas para los tiempos de espera de trabajo

Los trabajos se cobran de acuerdo a los tiempos de ejecución. Para evitar costes inesperados, configure los valores de tiempos de espera correctos para el tiempo de ejecución esperado del trabajo.

Propiedades avanzadas
Nombre de archivo del script

Un nombre de script único para el trabajo. El nombre no puede ser Trabajo sin nombre.

Ruta del script

La ubicación del script de Amazon S3. La ruta debe tener el formato s3://bucket/prefix/path/. Debe terminar con una barra (/) y no debe incluir ningún archivo.

Métricas de trabajo

Active o desactive la creación de métricas de Amazon CloudWatch cuando se ejecute este trabajo. Para ver los datos de perfiles, debe habilitar esta opción. Para obtener más información acerca de cómo habilitar y visualizar métricas, consulte Monitorización y depuración de trabajo.

Métricas de observabilidad de trabajos

Active la creación de métricas de observabilidad adicional de CloudWatch cuando se ejecute el trabajo. Para obtener más información, consulte Monitorización con métricas de observabilidad de AWS Glue.

Registro continuo

Active el registro continuo en Amazon CloudWatch. Si esta opción no está habilitada, los registros solo estarán disponibles después de que se complete el trabajo. Para obtener más información, consulte Registro continuo para trabajos de AWS Glue.

Interfaz de usuario de Spark

Habilite el uso de la interfaz de usuario (UI) de Spark para monitorear este trabajo. Para obtener más información, consulte Habilitación de la interfaz de usuario web de Apache Spark para trabajos de AWS Glue.

Ruta de los registros de la interfaz de usuario de Spark

La ruta para escribir registros mientras la interfaz de usuario de Spark está habilitada.

Configuración del registro y el monitoreo de la interfaz de Spark

Seleccione una de las siguientes opciones:

  • Estándar: escriba registros con la identificación de ejecución de trabajos de AWS Glue como nombre de archivo. Active el monitoreo de la interfaz de usuario de Spark en la consola de AWS Glue.

  • Heredado: escriba registros con el nombre “spark-application-{marca de tiempo}”. No active el monitoreo de la interfaz de usuario de Spark.

  • Estándar y heredado: escriba registros tanto en las ubicaciones estándar como heredadas. Active el monitoreo de la interfaz de usuario de Spark en la consola de AWS Glue.

Simultaneidad máxima

Establece el número máximo de ejecuciones simultáneas que están permitidas para este flujo de trabajo. El valor predeterminado de es 1. Se produce un error cuando se llega a este umbral. El valor máximo que puede especificar se controla mediante un límite de servicio. Por ejemplo, si una ejecución anterior de un trabajo se sigue ejecutando cuando una nueva instancia se inicia, es posible que desee devolver un error al evitar dos instancias de la misma ejecución de trabajo de forma simultánea.

Ruta temporaria

Proporcione la ubicación de un directorio de trabajo en Amazon S3 donde los resultados intermedios temporales se escriben cuando AWS Glue ejecuta el script. Compruebe que no haya un archivo con el mismo nombre que el directorio temporal en la ruta. Este directorio se utiliza cuando AWS Glue lee y escribe en Amazon Redshift y mediante determinadas transformaciones de AWS Glue.

nota

AWS Glue crea un bucket temporal para los trabajos si aún no existe un bucket en la región. Este bucket podría permitir el acceso público. Puede modificar el bucket en Amazon S3 para establecer el bloque de acceso público o eliminar el bucket más tarde, después de que se hayan completado todos los trabajos de esa región.

Umbral de notificación de retraso (minutos)

Establece el umbral (en minutos) antes de que se envíe una notificación de retraso. Puede configurar este umbral para enviar notificaciones cuando una ejecución de flujo de trabajo RUNNING, STARTING o STOPPING dure más de un número previsto de minutos.

Configuración de seguridad

Elija una configuración de seguridad de la lista. Una configuración de seguridad especifica cómo se cifran los datos en el destino de Amazon S3: sin cifrado, cifrado del lado del servidor con claves administradas por AWS KMS (SSE-KMS) o claves de cifrado administradas por Amazon S3 (SSE-S3).

Cifrado en el servidor

Si selecciona esta opción, cuando el flujo de trabajo de ETL se escribe en Amazon S3, los datos se cifran en reposo mediante cifrado SSE-S3. Tanto el destino de datos de Amazon S3 como los datos que se escriben en un directorio temporal de Amazon S3 se cifran. Esta opción se pasa como parámetro de trabajo. Para obtener más información, consulte Protecting Data Using Server-Side Encryption with Amazon S3-Managed Encryption Keys (SSE-S3) (Protección de datos mediante el cifrado que se ejecuta en el servidor con las claves de cifrado administradas por Amazon S3 [SSE-S3]) en la Guía del usuario de Amazon Simple Storage Service.

importante

Esta opción se pasa por alto si se especifica una configuración de seguridad.

Use Glue Data Catalog as the Hive metastore (Utilizar el catálogo de datos de Glue como metaalmacén de Hive)

Seleccione esta opción para usar el AWS Glue Data Catalog como metaalmacén de Hive. El rol de IAM que se utiliza para el trabajo debe tener el permiso glue:CreateDatabase. Si no existe una base de datos, se crea una denominada “default (predeterminada)” en el Data Catalog.

Conexiones

Seleccione una configuración de VPC para acceder a los orígenes de datos de Amazon S3 ubicados en la nube privada virtual (VPC). En AWS Glue, puede crear y administrar la conexión de red. Para obtener más información, consulte Conexión a datos.

Bibliotecas
La ruta de la biblioteca de Python, la ruta de los archivos JAR dependientes y la ruta de archivos referenciados

Especifique estas opciones si el script las requiere. Puede definir las rutas de Amazon S3 separadas por comas para estas opciones al definir el trabajo. Puede omitir estas rutas al ejecutar el flujo de trabajo. Para obtener más información, consulte Suministro de sus propios scripts personalizados.

Parámetros del flujo de trabajo

Conjunto de pares de clave-valor que se pasan como parámetros de nombres al script. Estos son valores predeterminados que se utilizan cuando se ejecuta el script, pero se pueden invalidar en desencadenadores o cuando se ejecuta el trabajo. Debe agregar el prefijo -- al nombre de clave; por ejemplo: --myKey. Los parámetros de trabajo se pasan como asignación cuando se utiliza la AWS Command Line Interface.

Para obtener ejemplos, consulte los parámetros de Python en Suministro y acceso a los parámetros de Python en AWS Glue.

Etiquetas

Etiquete su trabajo con una Clave de etiqueta y un Valor de etiqueta opcional. Una vez que se crean las claves de etiquetas, son de solo lectura. Utilice etiquetas en algunos recursos para que le resulte más fácil organizarlos e identificarlos. Para obtener más información, consulte Etiquetas de AWS en AWS Glue.

Restricciones para trabajos que acceden a tablas administradas por Lake Formation

Tenga en cuenta las siguientes notas y restricciones al crear trabajos que lean o escriban en tablas administradas por AWS Lake Formation: