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.
-
Spark ejecuta un script de ETL de Apache Spark con el comando de trabajo
glueetl
. -
Spark Streaming ejecuta un script de ETL de streaming de Apache Spark con el comando de trabajo
gluestreaming
. Para obtener más información, consulte Trabajos ETL de streaming en AWS Glue. -
El intérprete de comandos de Python ejecuta un script de Python con el comando de trabajo
pythonshell
. Para obtener más información, consulte Configuración de las propiedades de trabajos del intérprete de comandos de Python en AWS Glue.
-
- 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 trabajadorG.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
oG.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
oSTOPPING
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:
-
Las siguientes funciones no se soportan en trabajos que acceden a tablas con filtros de nivel de celda: