

# Resolución de problemas de AWS Glue
<a name="troubleshooting-glue"></a>

 Si surgen problemas a la hora de trabajar con AWS Glue, consulte los temas de esta sección. 


|  | 
| --- |
|  Para obtener información sobre la solución de problemas de Apache Spark en AWS Glue, consulte [Solución de problemas de IA generativa para Apache Spark en AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/troubleshoot-spark.html), que proporciona asistencia basada en IA para diagnosticar y resolver problemas de trabajo de Spark. Transforme la resolución de problemas de Apache Spark con nuestro Agente de resolución de problemas impulsado por IA, ahora compatible con todos los modos de implementación principales, incluidos AWS Glue, Amazon EMR-EC2, Amazon EMR sin servidor y Amazon SageMaker AI Notebooks. Este potente agente elimina los procesos complejos de depuración al combinar interacciones en lenguaje natural, análisis de cargas de trabajo en tiempo real y recomendaciones inteligentes de código en una experiencia integrada y fluida. Para obtener información sobre los detalles de implementación, consulte [¿Qué es el agente de solución de problemas de Apache Spark para Amazon EMR?](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/spark-troubleshoot.html)  | 

**Topics**
+ [Recopilación de información sobre la solución de problemas en AWS Glue](troubleshooting-contact-support.md)
+ [Solución de problemas de configuración comunes de Glue](glue-troubleshooting-errors.md)
+ [Errores del rastreador cuando usa permisos de Lake Formation](error-crawler-config-lf.md)
+ [Solución de problemas AWS Glue de errores de Ray en los registros](troubleshooting-ray.md)
+ [Excepciones de machine learning en AWS Glue](exceptions-machine-learning.md)
+ [Cuotas de AWS Glue](troubleshooting-service-limits.md)

# Recopilación de información sobre la solución de problemas en AWS Glue
<a name="troubleshooting-contact-support"></a>

Si detecta errores o comportamientos no esperados en AWS Glue y debe ponerse en contacto con AWS Support, en primer lugar, deberá recopilar la información sobre los nombres, los ID y los registros asociados con el error. Con esta información, Soporte podrán ayudarlo a solucionar los problemas que experimenta. 

Junto con su *ID de cuenta*, recopile la siguiente información para cada uno de estos tipos de errores:

**Cuando se produzca un error en un rastreador, recopile la siguiente información:**  
+ Nombre del rastreador

  Los registros de las ejecuciones del rastreador se encuentran en CloudWatch Logs en `/aws-glue/crawlers`.

**Cuando se produzca un error en una conexión de prueba, recopile la siguiente información:**  
+ Connection name
+ ID de la conexión
+ Cadena de la conexión de JDBC con formato `jdbc:protocol://host:port/database-name`.

  Los registros de las conexiones de prueba se encuentra en CloudWatch Logs en ` /aws-glue/testconnection`. 

**Cuando se produzca un error en un flujo de trabajo, recopile la siguiente información:**  
+ Nombre del trabajo 
+ ID de ejecución del flujo de trabajo con el formato `jr_xxxxx`.

  Los registros de las ejecuciones de trabajo se encuentran en CloudWatch Logs en ` /aws-glue/jobs`. 

# Solución de problemas de configuración comunes de Glue
<a name="glue-troubleshooting-errors"></a>

Si encuentra errores en AWS Glue, utilice la siguiente información como apoyo para encontrar el origen de los problemas y solucionarlos.

**nota**  
 El repositorio GitHub de AWS Glue contiene orientación adicional para solucionar problemas en la sección de [preguntas frecuentes deAWS Glue](https://github.com/aws-samples/aws-glue-samples/blob/master/FAQ_and_How_to.md). 

**Topics**
+ [Error: Resource unavailable (Recurso no disponible)](#error-resource-unavailable)
+ [Error: Could Not Find S3 Endpoint or NAT Gateway for subnetId in VPC (No se encontró el punto de conexión S3 o puerta de enlace NAT para subnetId en la VPC)](#error-s3-subnet-vpc-NAT-configuration)
+ [Error: Inbound Rule in Security Group Required (La regla de entrada del grupo de seguridad es obligatoria)](#error-inbound-self-reference-rule)
+ [Error: Outbound Rule in Security Group Required (La regla de salida del grupo de seguridad es obligatoria)](#error-outbound-self-reference-rule)
+ [Error de trabajo porque el rol transferido debería tener premisos para asumir el rol para el servicio AWS Glue](#error-assume-role-user-policy)
+ [Error: DescribeVpcEndpoints action is unauthorized. unable to validate VPC ID vpc-id (La acción DescribeVPCEndpoints no está autorizada. No se puede validar el ID de VPC vpc-id)](#error-DescribeVpcEndpoints-permission)
+ [Error: DescribeRouteTables action is unauthorized. unable to validate subnet id: Subnet-id in VPC id: vpc-id (La acción DescribeRouteTables no está autorizada. No se puede validar el ID de subred: Subnet-id en el ID de VPC vpc-id)](#error-DescribeRouteTables-permission)
+ [Error: Failed to call ec2:DescribeSubnets (Error al llamar a ec2:DescribeSubnets)](#error-DescribeSubnets-permission)
+ [Error: Failed to call ec2:DescribeSecurityGroups (Error al llamar a ec2:DescribeSecurityGroups)](#error-DescribeSecurityGroups-permission)
+ [Error: Could Not Find Subnet for AZ (No se pudo encontrar la subred de AZ)](#error-az-not-available)
+ [Error: Job run exception when writing to a JDBC target (Excepción de ejecución de flujo de trabajo al escribir en un destino JDBC)](#error-job-run-jdbc-target)
+ [Error: Amazon S3: The operation is not valid for the object's storage class](#error-s3-operation-not-valid)
+ [Error: Amazon S3 timeout (Tiempo de espera de Amazon S3)](#error-s3-timeout)
+ [Error: Amazon S3 access denied (Acceso denegado a Amazon S3)](#error-s3-access-denied)
+ [Error: Amazon S3 access key ID does not exist (El ID de clave de acceso de Amazon S3 no existe)](#error-s3-accesskeyid-not-found)
+ [Se produce un error en la ejecución de trabajo al obtener acceso a Amazon S3 con un URI de `s3a://`](#error-s3a-uri-directory-listing)
+ [Error: Amazon S3 service token expired (Token de servicio de Amazon S3 caducado)](#error-s3-service-token-expired)
+ [Error: No private DNS for network interface found (No se encontró un DNS privado para la interfaz de red)](#error-no-private-DNS)
+ [Error: Development endpoint provisioning failed (Error en el aprovisionamiento del punto de conexión de desarrollo)](#error-development-endpoint-failed)
+ [Error: Notebook Server CREATE\$1FAILED (CREATE\$1FAILED el servidor del bloc de notas)](#error-notebook-server-ec2-instance-profile)
+ [Error: Local notebook fails to start (El bloc de notas local no se inicia)](#error-local-notebook-fails-to-start)
+ [Error: Running crawler failed (Error de ejecución del rastreador)](#error-running-crawler-failed)
+ [Error: Partitions were not updated (Las particiones no se han actualizado)](#error-update-from-job-partitions)
+ [Error: no se pudo actualizar el marcador de trabajo debido a que la versión no coincide](#error-job-bookmarks-limitation)
+ [Error: A job is reprocessing data when job bookmarks are enabled (Un trabajo está reprocesando datos cuando los marcadores de trabajo están habilitados)](#error-job-bookmarks-reprocess-data)
+ [Error: comportamiento de conmutación por error entre VPC en AWS Glue](#vpc-failover-behavior-error-10)

## Error: Resource unavailable (Recurso no disponible)
<a name="error-resource-unavailable"></a>

Si AWS Glue devuelve un mensaje de recurso no disponible, los mensajes de error o los registros le serán útiles para obtener más información sobre el problema. Las siguientes tareas describen métodos generales para solucionar problemas.
+ Por cada conexión o punto de enlace de desarrollo que utilice, compruebe que el clúster no se haya quedado sin interfaces de red elásticas.

## Error: Could Not Find S3 Endpoint or NAT Gateway for subnetId in VPC (No se encontró el punto de conexión S3 o puerta de enlace NAT para subnetId en la VPC)
<a name="error-s3-subnet-vpc-NAT-configuration"></a>

Compruebe el ID de la subred y el ID de la VPC indicados en el mensaje como ayuda para diagnosticar el problema.
+ Compruebe que tenga un punto de conexión de VPC de Amazon S3 configurado, elemento obligatorio con AWS Glue. Además, compruebe la gateway de NAT si forma parte de su configuración. Para obtener más información, consulte [Puntos de enlace de Amazon VPC para Amazon S3](vpc-endpoints-s3.md).

## Error: Inbound Rule in Security Group Required (La regla de entrada del grupo de seguridad es obligatoria)
<a name="error-inbound-self-reference-rule"></a>

Al menos un grupo de seguridad debe abrir todos los puertos de entrada. Para limitar el tráfico, el grupo de seguridad de origen de su regla de entrada puede restringirse al mismo grupo de seguridad.
+ En todas las conexiones que utilice, compruebe que el grupo de seguridad tenga una regla de entrada con autorreferencia. Para obtener más información, consulte [Configuración del acceso de red a los almacenes de datos](start-connecting.md).
+ Cuando utilice un punto de enlace de desarrollo, compruebe que su grupo de seguridad tenga una regla de entrada con autorreferencia. Para obtener más información, consulte [Configuración del acceso de red a los almacenes de datos](start-connecting.md).

## Error: Outbound Rule in Security Group Required (La regla de salida del grupo de seguridad es obligatoria)
<a name="error-outbound-self-reference-rule"></a>

Al menos un grupo de seguridad debe abrir todos los puertos de salida. Para limitar el tráfico, el grupo de seguridad de origen de su regla de salida puede restringirse al mismo grupo de seguridad.
+ En todas las conexiones que utilice, compruebe que el grupo de seguridad tenga una regla de salida que se haga referencia a sí misma. Para obtener más información, consulte [Configuración del acceso de red a los almacenes de datos](start-connecting.md).
+ Cuando utilice un punto de enlace de desarrollo, compruebe que su grupo de seguridad tenga una regla de salida que se haga referencia a sí misma. Para obtener más información, consulte [Configuración del acceso de red a los almacenes de datos](start-connecting.md).

## Error de trabajo porque el rol transferido debería tener premisos para asumir el rol para el servicio AWS Glue
<a name="error-assume-role-user-policy"></a>

El usuario que define un flujo de trabajo debe tener permiso para `iam:PassRole` para AWS Glue.
+ Cuando un usuario cree un flujo de trabajo de AWS Glue, compruebe que el rol de usuario contenga una política que tenga `iam:PassRole` para AWS Glue. Para obtener más información, consulte [Paso 3: Adjuntar una política a los usuarios o los grupos que accedan a AWS Glue](attach-policy-iam-user.md).

## Error: DescribeVpcEndpoints action is unauthorized. unable to validate VPC ID vpc-id (La acción DescribeVPCEndpoints no está autorizada. No se puede validar el ID de VPC vpc-id)
<a name="error-DescribeVpcEndpoints-permission"></a>
+ Compruebe que la política que se haya pasado a AWS Glue contenga el permiso `ec2:DescribeVpcEndpoints`.

## Error: DescribeRouteTables action is unauthorized. unable to validate subnet id: Subnet-id in VPC id: vpc-id (La acción DescribeRouteTables no está autorizada. No se puede validar el ID de subred: Subnet-id en el ID de VPC vpc-id)
<a name="error-DescribeRouteTables-permission"></a>
+ Compruebe que la política que se haya pasado a AWS Glue contenga el permiso `ec2:DescribeRouteTables`.

## Error: Failed to call ec2:DescribeSubnets (Error al llamar a ec2:DescribeSubnets)
<a name="error-DescribeSubnets-permission"></a>
+ Compruebe que la política que se haya pasado a AWS Glue contenga el permiso `ec2:DescribeSubnets`.

## Error: Failed to call ec2:DescribeSecurityGroups (Error al llamar a ec2:DescribeSecurityGroups)
<a name="error-DescribeSecurityGroups-permission"></a>
+ Compruebe que la política que se haya pasado a AWS Glue contenga el permiso ` ec2:DescribeSecurityGroups`.

## Error: Could Not Find Subnet for AZ (No se pudo encontrar la subred de AZ)
<a name="error-az-not-available"></a>
+ Puede que la zona de disponibilidad no esté disponible para AWS Glue. Cree y utilice una nueva subred en una zona de disponibilidad que no sea la que se ha especificado en el mensaje.

## Error: Job run exception when writing to a JDBC target (Excepción de ejecución de flujo de trabajo al escribir en un destino JDBC)
<a name="error-job-run-jdbc-target"></a>

Cuando ejecuta un flujo de trabajo que escribe en un destino JDBC, es posible que el flujo de trabajo presente errores en los siguientes casos:
+ Si su flujo de trabajo escribe en una tabla de Microsoft SQL Server y la tabla tiene definidas columnas de tipo `Boolean`, la tabla tiene que definirse previamente en la base de datos de SQL Server. Cuando defina el flujo de trabajo en la consola de AWS Glue utilizando un destino de SQL Server con la opción **Create tables in your data target (Crear tablas en el destino de los datos)**, no mapee ninguna columna de origen con ninguna columna de destino que tenga un tipo de datos `Boolean`. Es posible que se produzca un error cuando el flujo de trabajo se ejecute.

  Para evitar el error, ejecute la siguiente operación:
  + Elija una tabla existente con la columna **Boolean** (booleana).
  + Edite la transformación `ApplyMapping` y mapee la columna **Boolean** del origen con un número o una cadena del destino.
  + Edite la transformación `ApplyMapping` para eliminar la columna **Boolean** del origen.
+ Si su flujo de trabajo escribe en una tabla de Oracle, es posible que deba ajustar la longitud de los nombres de los objetos de Oracle. En algunas versiones de Oracle, la longitud de identificador máxima está limitada a 30 o 128 bytes. Este límite afecta a los nombres de tablas y de columnas de los almacenes de datos de destino de Oracle.

  Para evitar el error, ejecute la siguiente operación:
  + Dé un nombre a las tablas de destino de Oracle que esté dentro de los límites de su versión.
  + Los nombres de columna predeterminados se generan a partir de los nombres de campos de los datos. Para gestionar el error cuando los nombres de las columnas superan el límite establecido, utilice las transformaciones `ApplyMapping` o `RenameField` para cambiar el nombre de la columna para que esté dentro del límite aceptado.

## Error: Amazon S3: The operation is not valid for the object's storage class
<a name="error-s3-operation-not-valid"></a>

Si AWS Glue arroja este error, puede que el trabajo de AWS Glue haya leído datos de las tablas con particiones en los niveles de clase de almacenamiento de Amazon S3.
+ Mediante el uso de exclusiones de clase de almacenamiento, puede asegurarse de que sus trabajos de AWS Glue funcionarán en tablas que tengan particiones en estas capas de clase de almacenamiento. Sin exclusiones, los trabajos que leen datos de estos niveles fallan con el siguiente error: `AmazonS3Exception: The operation is not valid for the object's storage class`.

  Para obtener más información, consulte [Exclusión de clases de almacenamiento de Amazon S3](aws-glue-programming-etl-storage-classes.md).

## Error: Amazon S3 timeout (Tiempo de espera de Amazon S3)
<a name="error-s3-timeout"></a>

Si AWS Glue devuelve un error de tiempo de espera de conexión agotado, puede que se deba a que está intentando obtener acceso a un bucket de Amazon S3 ubicado en otra región de AWS. 
+ Un punto de conexión de VPC de Amazon S3 solo puede dirigir el tráfico a los buckets que se encuentran dentro de una región de AWS. Si necesita conectarse a buckets de otras regiones, puede recurrir a una gateway de NAT para evitar este problema. Para obtener más información, consulte [Puerta de enlace NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html).

## Error: Amazon S3 access denied (Acceso denegado a Amazon S3)
<a name="error-s3-access-denied"></a>

Si AWS Glue devuelve un error de acceso denegado a un bucket u objeto de Amazon S3, puede deberse a que el rol de IAM proporcionado no tiene una política con permiso para el almacén de datos.
+ Un flujo de trabajo de ETL debe tener acceso al almacén de datos de Amazon S3 utilizado como origen o destino. Un rastreador debe tener acceso al almacén de datos de Amazon S3 que rastrea. Para obtener más información, consulte [Paso 2: creación de un rol de IAM para AWS Glue](create-an-iam-role.md).

## Error: Amazon S3 access key ID does not exist (El ID de clave de acceso de Amazon S3 no existe)
<a name="error-s3-accesskeyid-not-found"></a>

Si AWS Glue devuelve un error de ID de clave de acceso no existe al ejecutar un flujo de trabajo, puede deberse a uno de los motivos siguientes:
+ Un trabajo de ETL utiliza un rol de IAM para obtener acceso a los almacenes de datos. Confirme que el rol de IAM de su trabajo no se haya eliminado antes de iniciar el trabajo.
+ Un rol de IAM contiene permisos para obtener acceso a sus almacenes de datos. Confirme que todas las políticas de Amazon S3 asociadas que contengan `s3:ListBucket` sean correctas.

## Se produce un error en la ejecución de trabajo al obtener acceso a Amazon S3 con un URI de `s3a://`
<a name="error-s3a-uri-directory-listing"></a>

Si un trabajo devuelve un error similar a *Failed to parse XML document with handler class (No se pudo analizar documento XML con la clase de controlador)*, podría deberse a un error al intentar enumerar centenares de archivos mediante un URI ` s3a://`. Obtenga acceso a su almacén de datos mediante un URI `s3://` en su lugar. En el siguiente seguimiento de excepciones se destacan los errores que se buscan:

```
1.	com.amazonaws.SdkClientException: Failed to parse XML document with handler class com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser$ListBucketHandler
2.	at com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser.parseXmlInputStream(XmlResponsesSaxParser.java:161)
3.	at com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser.parseListBucketObjectsResponse(XmlResponsesSaxParser.java:317)
4.	at com.amazonaws.services.s3.model.transform.Unmarshallers$ListObjectsUnmarshaller.unmarshall(Unmarshallers.java:70)
5.	at com.amazonaws.services.s3.model.transform.Unmarshallers$ListObjectsUnmarshaller.unmarshall(Unmarshallers.java:59)
6.	at com.amazonaws.services.s3.internal.S3XmlResponseHandler.handle(S3XmlResponseHandler.java:62)
7.	at com.amazonaws.services.s3.internal.S3XmlResponseHandler.handle(S3XmlResponseHandler.java:31)
8.	at com.amazonaws.http.response.AwsResponseHandlerAdapter.handle(AwsResponseHandlerAdapter.java:70)
9.	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleResponse(AmazonHttpClient.java:1554)
10.	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1272)
11.	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1056)
12.	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:743)
13.	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:717)
14.	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:699)
15.	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:667)
16.	at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:649)
17.	at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:513)
18.	at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4325)
19.	at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4272)
20.	at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4266)
21.	at com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:834)
22.	at org.apache.hadoop.fs.s3a.S3AFileSystem.getFileStatus(S3AFileSystem.java:971)
23.	at org.apache.hadoop.fs.s3a.S3AFileSystem.deleteUnnecessaryFakeDirectories(S3AFileSystem.java:1155)
24.	at org.apache.hadoop.fs.s3a.S3AFileSystem.finishedWrite(S3AFileSystem.java:1144)
25.	at org.apache.hadoop.fs.s3a.S3AOutputStream.close(S3AOutputStream.java:142)
26.	at org.apache.hadoop.fs.FSDataOutputStream$PositionCache.close(FSDataOutputStream.java:74)
27.	at org.apache.hadoop.fs.FSDataOutputStream.close(FSDataOutputStream.java:108)
28.	at org.apache.parquet.hadoop.ParquetFileWriter.end(ParquetFileWriter.java:467)
29.	at org.apache.parquet.hadoop.InternalParquetRecordWriter.close(InternalParquetRecordWriter.java:117)
30.	at org.apache.parquet.hadoop.ParquetRecordWriter.close(ParquetRecordWriter.java:112)
31.	at org.apache.spark.sql.execution.datasources.parquet.ParquetOutputWriter.close(ParquetOutputWriter.scala:44)
32.	at org.apache.spark.sql.execution.datasources.FileFormatWriter$SingleDirectoryWriteTask.releaseResources(FileFormatWriter.scala:252)
33.	at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask$3.apply(FileFormatWriter.scala:191)
34.	at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask$3.apply(FileFormatWriter.scala:188)
35.	at org.apache.spark.util.Utils$.tryWithSafeFinallyAndFailureCallbacks(Utils.scala:1341)
36.	at org.apache.spark.sql.execution.datasources.FileFormatWriter$.org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask(FileFormatWriter.scala:193)
37.	at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1$$anonfun$3.apply(FileFormatWriter.scala:129)
38.	at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1$$anonfun$3.apply(FileFormatWriter.scala:128)
39.	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
40.	at org.apache.spark.scheduler.Task.run(Task.scala:99)
41.	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:282)
42.	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
43.	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
44.	at java.lang.Thread.run(Thread.java:748)
```

## Error: Amazon S3 service token expired (Token de servicio de Amazon S3 caducado)
<a name="error-s3-service-token-expired"></a>

Al transferir datos hacia y desde Amazon Redshift, se utilizan las credenciales temporales de Amazon S3, que caducan después de 1 hora. Si tiene un trabajo de larga duración, se podría producir un error. Para obtener información acerca de cómo configurar sus trabajos de larga duración para mover datos hacia y desde Amazon Redshift, consulte [aws-glue-programming-etl-connect-redshift-home](aws-glue-programming-etl-connect-redshift-home).

## Error: No private DNS for network interface found (No se encontró un DNS privado para la interfaz de red)
<a name="error-no-private-DNS"></a>

Si un flujo de trabajo genera un error o un punto de enlace de desarrollo no aprovisiona correctamente, podría ser debido a un problema en la configuración de la red.
+ Si utiliza el DNS suministrado por Amazon, el valor de `enableDnsHostnames` debe establecerse en true. Para obtener más información, consulte [DNS](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html). 

## Error: Development endpoint provisioning failed (Error en el aprovisionamiento del punto de conexión de desarrollo)
<a name="error-development-endpoint-failed"></a>

Si AWS Glue no aprovisiona correctamente un punto de enlace de desarrollo, podría ser debido a un problema en la configuración de la red.
+ Cuando defina un punto de enlace de desarrollo, la VPC, la subred y los grupos de seguridad se validan para confirmar que cumplan determinados requisitos.
+ Si ha proporcionado la clave pública SSH opcional, compruebe que esta sea una clave pública SSH válida.
+ Consulte en la consola de la VPC que su VPC utilice la opción **DHCP option set** (Conjunto de opciones de DHCP) válida. Para obtener más información, consulte [Conjuntos de opciones de DHCP](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html). 
+ Si el clúster permanece en estado PROVISIONING (APROVISIONAMIENTO), póngase en contacto con AWS Support.

## Error: Notebook Server CREATE\$1FAILED (CREATE\$1FAILED el servidor del bloc de notas)
<a name="error-notebook-server-ec2-instance-profile"></a>

Si AWS Glue no consigue crear el servidor del bloc de notas de un punto de enlace de desarrollo, podría ser debido a uno de los siguientes problemas: 
+ AWS Glue transfiere un rol de IAM a Amazon EC2 cuando está configurando el bloc de notas del servidor. El rol de IAM debe tener una relación de confianza con Amazon EC2.
+ El rol de IAM debe tener un perfil de instancias con el mismo nombre. Cuando crea el rol para Amazon EC2 con la consola de IAM, se crea automáticamente el perfil de instancias con el mismo nombre. Compruebe si el registro contiene un error de nombre de perfil de instancias ` iamInstanceProfile.name` no válido. Para obtener más información, consulte [Utilización de perfiles de instancia](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html). 
+ Compruebe que su rol tenga permiso para obtener acceso a buckets `aws-glue*` en la política que pasa para crear el servidor del bloc de notas. 

## Error: Local notebook fails to start (El bloc de notas local no se inicia)
<a name="error-local-notebook-fails-to-start"></a>

Si el bloc de notas local no se inicia y notifica errores del tipo que un directorio o una carpeta no se pueden encontrar, podría ser debido a uno de los siguientes problemas: 
+ Si usa Microsoft Windows, asegúrese de que la variable de entorno `JAVA_HOME` apunte al directorio de Java correcto. Es posible actualizar Java sin actualizar esta variable; si la variable apunta a una carpeta que ya no existe, los cuadernos de Jupyter no se iniciarán.

## Error: Running crawler failed (Error de ejecución del rastreador)
<a name="error-running-crawler-failed"></a>

Si AWS Glue no consigue ejecutar correctamente un rastreador para catalogar sus datos, puede ser debido a una de las siguientes razones. En primer lugar compruebe si un error aparece en la lista de rastreadores de la consola de AWS Glue. Compruebe si hay un icono de exclamación junto al nombre del rastreador y pase el ratón por encima del icono para ver si hay mensajes asociados. 
+ Compruebe los registros del rastreador ejecutado en CloudWatch Logs en `/aws-glue/crawlers`.

## Error: Partitions were not updated (Las particiones no se han actualizado)
<a name="error-update-from-job-partitions"></a>

Si las particiones no se actualizaron en el Data Catalog al ejecutar un trabajo de ETL, estas instrucciones de registro de la clase `DataSink` de CloudWatch Logs pueden resultarle útiles:
+ “`Attempting to fast-forward updates to the Catalog - nameSpace:`”: muestra qué base de datos, tabla e identificador de catálogo se intenta modificar en este trabajo. Si esta instrucción no está aquí, compruebe si `enableUpdateCatalog` está establecido en true y se ha pasado correctamente como un parámetro `getSink()` o en ` additional_options`.
+ “`Schema change policy behavior:`”: muestra qué valor ` updateBehavior` del esquema se ha pasado.
+ “`Schemas qualify (schema compare):`”: será true o false.
+ “`Schemas qualify (case-insensitive compare):`”: será true o false.
+ Si ambos son falsos y su `updateBehavior` no está establecido en ` UPDATE_IN_DATABASE`, entonces el esquema de DynamicFrame tendrá que ser idéntico o contener un subconjunto de las columnas que se muestran en el esquema de la tabla del Data Catalog. 

Para obtener más información sobre actualización de particiones, consulte [Cómo actualizar el esquema y añadir nuevas particiones al Catálogo de datos mediante trabajos de ETL de AWS Glue](update-from-job.md).

## Error: no se pudo actualizar el marcador de trabajo debido a que la versión no coincide
<a name="error-job-bookmarks-limitation"></a>

Es posible que esté intentando aplicar parámetros en trabajos de AWS Glue para aplicar la misma transformación/lógica en distintos conjuntos de datos de Amazon S3. Desea realizar un seguimiento de los archivos procesados en las ubicaciones proporcionadas. Cuando ejecuta el mismo trabajo en el mismo bucket de origen y escribe en el mismo destino o en uno diferente simultáneamente (concurrencia >1), el trabajo falla con este error:

```
py4j.protocol.Py4JJavaError: An error occurred while callingz:com.amazonaws.services.glue.util.Job.commit.:com.amazonaws.services.gluejobexecutor.model.VersionMismatchException: Continuation update failed due to version mismatch. Expected version 2 but found version 3
```

Solución: establezca la concurrencia en 1 o no ejecute el trabajo simultáneamente.

Actualmente, los marcadores de AWS Glue no admiten ejecuciones de trabajos simultáneos y las confirmaciones fallarán.

## Error: A job is reprocessing data when job bookmarks are enabled (Un trabajo está reprocesando datos cuando los marcadores de trabajo están habilitados)
<a name="error-job-bookmarks-reprocess-data"></a>

Es posible que en algunos casos tenga habilitados marcadores de trabajo de AWS Glue, pero su trabajo de ETL está reprocesando los datos que ya se han procesado anteriormente. Compruebe si hay estas causas comunes de este error: 

**Simultaneidad máxima**  
Si el número máximo establecido de ejecuciones concurrentes para el trabajo es mayor que el valor predeterminado de 1, esto puede interferir con los marcadores de trabajo. Esto puede suceder cuando los marcadores de trabajo comprueban la hora de la última modificación para verificar los objetos que deben volver a procesarse. Para obtener más información, consulte la discusión de simultaneidad máxima en [Configuración de las propiedades de trabajos para trabajos de Spark en AWS Glue](add-job.md).

**Objeto de trabajo ausente**  
Asegúrese de que su script de ejecución de trabajo termina con la siguiente confirmación:

```
job.commit()
```

Al incluir este objeto, AWS Glue registra la marca temporal y la ruta de la ejecución del trabajo. Si ejecuta el trabajo de nuevo con la misma ruta, AWS Glue procesa solo los archivos nuevos. Si no incluye este objeto y los marcadores de trabajo están habilitados, el trabajo vuelve a procesar los archivos ya procesados junto con los nuevos archivos y crea redundancia en el almacén de datos de destino del trabajo.

**Parámetro de contexto de transformación ausente**  
El contexto de transformación es un parámetro opcional en la clase `GlueContext`, pero los marcadores de trabajo no funcionan si no lo incluye. Para solucionar este error, añada el parámetro de contexto de transformación al [crear la DynamicFrame](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-pyspark-extensions-glue-context.html#aws-glue-api-crawler-pyspark-extensions-glue-context-create_dynamic_frame_from_catalog), tal y como se muestra a continuación:

```
sample_dynF=create_dynamic_frame_from_catalog(database, table_name,transformation_ctx="sample_dynF") 
```

**Origen de entrada**  
Si utiliza una base de datos relacional (una conexión JDBC) para la fuente de entrada, los marcadores de trabajo funcionan solamente si las claves de principal de la tabla se encuentran en orden secuencial. Los marcadores de trabajo funcionan en nuevas filas, pero no en filas actualizadas. Esto se debe a que los marcadores de trabajo buscan las claves principales, que ya existen. Esto no se aplica si su origen de entrada es Amazon Simple Storage Service (Amazon S3).

**Hora de la última modificación**  
Para orígenes de entrada de Amazon S3, los marcadores de trabajo comprueban la hora de última modificación de los objetos, en lugar de los nombres de archivo, para verificar qué objetos deben volver a procesarse. Si los datos de origen de entrada se han modificado desde la última ejecución de trabajo, los archivos se vuelven a procesar al ejecutar el trabajo de nuevo. 

## Error: comportamiento de conmutación por error entre VPC en AWS Glue
<a name="vpc-failover-behavior-error-10"></a>

El siguiente proceso se utiliza para la conmutación por error de los trabajos de la versión 5.1 de AWS Glue y versiones anteriores.

Resumen: se selecciona una conexión AWS Glue en el momento en que se envía la ejecución de un trabajo. Si la ejecución del trabajo presenta algunos problemas (falta de direcciones IP, conectividad al origen, problema de enrutamiento), la ejecución fallará. Si los reintentos están configurados, AWS Glue lo volverá a intentar con la misma conexión.

1. Para cada intento de ejecución, AWS Glue comprobará el estado de las conexiones en el orden indicado en la configuración del trabajo, hasta que encuentre una que pueda usar. En caso de que se produzca un error en la zona de disponibilidad (AZ), las conexiones procedentes de esa zona no pasarán la comprobación y se omitirán.

1. AWS Glue valida la conexión con lo siguiente:
   + comprueba si el identificador y la subred de Amazon VPC son válidos.
   + comprueba que existe una puerta de enlace NAT o un punto de conexión de VPC de Amazon.
   + comprueba que la subred tiene más de 0 direcciones IP asignadas.
   + comprueba que la AZ esté en buen estado.

   AWS Glue no puede verificar la conectividad en el momento de enviar el trabajo.

1. En el caso de los trabajos que utilizan Amazon VPC, todos los controladores y ejecutores se crearán en la misma zona de disponibilidad con la conexión seleccionada en el momento de enviar el trabajo.

1. Si los reintentos están configurados, AWS Glue lo volverá a intentar con la misma conexión. Esto se debe a que no podemos garantizar que los problemas con esta conexión se prolonguen durante mucho tiempo. Si una zona de disponibilidad falla, el trabajo existente que se ejecuta (según la etapa de ejecución del trabajo) en esa zona puede fallar. Al volver a intentarlo, se debe detectar un error en la zona de disponibilidad y elegir otra zona de disponibilidad para la nueva ejecución.

# Errores del rastreador cuando usa permisos de Lake Formation
<a name="error-crawler-config-lf"></a>

Utilice la siguiente información para diagnosticar y solucionar varios problemas al configurar el rastreador mediante las credenciales de Lake Formation.

## Error: la ubicación de S3: s3://examplepath no está registrada
<a name="error-s3-location"></a>

Para que un rastreador se ejecute con las credenciales de Lake Formation, primero debe configurar los permisos de Lake Formation. Para resolver este error, registre la ubicación de Amazon S3 de destino con Lake Formation. Para obtener más información, consulte [Registro de una ubicación de Amazon S3](https://docs.aws.amazon.com/lake-formation/latest/dg/register-location.html).

## Error: el usuario o rol no está autorizado a realizar: lakeformation:GetDataAccess en el recurso
<a name="error-role-authorization"></a>

Añada el permiso `lakeformation:GetDataAccess` del rol de rastreador con la consola de IAM o AWS CLI. Con este permiso, Lake Formation concede la solicitud de credenciales temporales para acceder a los datos. Consulte la política siguiente:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "lakeformation:GetDataAccess"
    ],
    "Resource": "*"
  }
}
```

------

## Error: permisos insuficientes para la formación de lagos en (Nombre de la base de datos: exampleDatabase, Nombre de la tabla: exampleTable)
<a name="error-permissions"></a>

En la consola de Lake Formation ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)), conceda permisos de acceso al rol de rastreador (` Create`, `Describe`, `Alter`) en la base de datos, que se especifica como la base de datos de salida. También puede conceder permisos a la tabla. Para obtener más información, consulte [Concesión de permisos de base de datos mediante la consola de Lake Formation y el método de recurso con nombre](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-cat-perms-named-resource.html).

## Error: permisos de Lake Formation insuficientes en s3://examplepath
<a name="error-location-permissions"></a>

1.  **Rastreo entre cuentas** 

   1. Inicie sesión en la consola de Lake Formation ([https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)) mediante la cuenta en la que está registrado el bucket de Amazon S3 (cuenta B). Conceda permisos de Data location (Ubicación de datos) a la cuenta en la que se vaya a ejecutar el rastreador. Esto permitirá al rastreador leer los datos de la ubicación de Amazon S3 de destino. 

   1.  En la cuenta donde esté creado el rastreador (cuenta A), conceda a Data location (ubicación de los datos) permisos en la ubicación de Amazon S3 de destino para el rol de IAM que se usa para la ejecución del rastreador, de modo que el rastreador pueda leer los datos del destino en Lake Formation. Para más información, consulte [Concesión de permisos de ubicación de datos (misma cuenta)](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-location-permissions-external.html).

1. **Rastreo en cuenta (el rastreador y la ubicación de Amazon S3 registrada están en la misma cuenta)** ‐ Conceda a Data location (ubicación de los datos) permisos para el rol de IAM que se usa en la ejecución del rastreador en la ubicación de Amazon S3, de modo que el rastreador pueda leer los datos del destino en Lake Formation. Para obtener más información, consulte [Concesión de permisos de ubicación de datos (misma cuenta)](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-location-permissions-local.html).

## Preguntas frecuentes sobre la configuración del rastreador con las credenciales de Lake Formation
<a name="faq-crawler-config-lf"></a>

1.  **¿Cómo configuro un rastreador para que se ejecute con las credenciales de Lake Formation mediante la consola AWS?** 

   En la consola de AWS Glue ([https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)), al configurar el rastreador, seleccione la opción **Use Lake Formation credentials for crawling Amazon S3 data source** (Utilizar credenciales de Lake Formation para rastrear un origen de datos de Amazon S3). Para el rastreo entre cuentas, especifique el ID de la Cuenta de AWS donde esté registrada la ubicación de Amazon S3 de destino en Lake Formation. Para realizar el rastreo en cuenta, el campo **accountId** es opcional.

1.  **Cómo configuro un rastreador para que se ejecute con las credenciales de Lake Formation mediante AWS CLI?** 

   Durante la llamada a la API `CreateCrawler`, agregue `LakeFormationConfiguration`:

   ```
   "LakeFormationConfiguration": {
       "UseLakeFormationCredentials": true,
       "AccountId": "111111111111" (AWS account ID where the target Amazon S3 location is registered with Lake Formation)
     }
   ```

1.  **Cuáles son los objetivos admitidos por un rastreador que utiliza las credenciales de Lake Formation?** 

   Un rastreador que utilice las credenciales de Lake Formation solo es compatible con Amazon S3 (rastreo dentro y entre cuentas) y para los destinos del catálogo de datos de la cuenta (donde la ubicación subyacente es Amazon S3) y destinos Apache Iceberg.

1.  **Puedo rastrear varios depósitos de Amazon S3 como parte de un único rastreador con las credenciales de Lake Formation?** 

   No, para los objetivos de rastreo que utilizan la venta de credenciales de Lake Formation, las ubicaciones subyacentes de Amazon S3 deben pertenecer al mismo bucket. Por ejemplo, los clientes pueden utilizar varias ubicaciones de destino `(s3://bucket1/folder1, s3://bucket1/folder2)` si están debajo del mismo bucket (bucket 1). No se admite la especificación de diferentes buckets (s3://bucket1/carpeta1, s3://bucket2/carpeta2).

# Solución de problemas AWS Glue de errores de Ray en los registros
<a name="troubleshooting-ray"></a>

**importante**  
AWS Glue para Ray ya no estará disponible para nuevos clientes a partir del 30 de abril de 2026. Si desea utilizar AWS Glue para Ray, regístrese antes de esa fecha. Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener capacidades similares a AWS Glue para Ray, explore Amazon EKS. Para obtener más información, consulte [Finalización del soporte de AWS Glue para Ray](https://docs.aws.amazon.com/glue/latest/dg/awsglue-ray-jobs-availability-change.html).

AWS Glue proporciona acceso a los registros emitidos por los procesos de Ray durante la ejecución del trabajo. Si encuentra errores o un comportamiento inesperado en los trabajos de Ray, recopile antes información de los registros para determinar la causa del error. También proporcionamos registros similares para sesiones interactivas. Los registros de sesiones se proporcionan con el prefijo `/aws-glue/ray/sessions`.

Las líneas de registro se envían a CloudWatch en tiempo real, a medida que se ejecuta el trabajo. Las declaraciones de impresión se adjuntan a los registros de CloudWatch una vez finalizada la ejecución. Los registros se conservan durante dos semanas después de ejecutar un trabajo. 

## Inspección de los registros de trabajos de Ray
<a name="troubleshooting-ray-log-locations"></a>

Cuando se produce un error en un trabajo, recopile el nombre del trabajo y el identificador de ejecución del trabajo. Puede encontrarlos en la consola de AWS Glue. Vaya a la página del trabajo y, a continuación, vaya a la pestaña **Runs** (Ejecuciones). Los registros de trabajos de Ray se almacenan en los siguientes grupos de registros dedicados de CloudWatch.
+ `/aws-glue/ray/jobs/script-log/`: almacena los registros emitidos por su script principal de Ray.
+ `/aws-glue/ray/jobs/ray-monitor-log/`: almacena los registros emitidos por el proceso del escalador automático de Ray. Estos registros se generan para el nodo principal y no para otros nodos de trabajo.
+ `/aws-glue/ray/jobs/ray-gcs-logs/`: Almacena los registros emitidos por el proceso GCS (almacenamiento de control global). Estos registros se generan para el nodo principal y no para otros nodos de trabajo.
+ `/aws-glue/ray/jobs/ray-process-logs/`: Almacena los registros emitidos por otros procesos de Ray (principalmente el agente del panel de control) que se ejecutan en el nodo principal. Estos registros se generan para el nodo principal y no para otros nodos de trabajo.
+ ` /aws-glue/ray/jobs/ray-raylet-logs/`: Almacena los registros emitidos por cada proceso de raylet. Estos registros se recopilan en una sola secuencia para cada nodo de trabajo, incluido el nodo principal.
+ `/aws-glue/ray/jobs/ray-worker-out-logs/`: Almacena los registros `stdout` de cada proceso de trabajo en el clúster. Estos registros se generan para cada nodo de trabajo, incluido el nodo principal.
+ `/aws-glue/ray/jobs/ray-worker-err-logs/`: Almacena los registros `stderr` de cada proceso de trabajo en el clúster. Estos registros se generan para cada nodo de trabajo, incluido el nodo principal.
+ `/aws-glue/ray/jobs/ray-runtime-env-log/`: Almacena los registros sobre el proceso de configuración de Ray. Estos registros se generan para cada nodo de trabajo, incluido el nodo principal.

## Solución de errores de trabajos de Ray
<a name="troubleshooting-ray-errors"></a>

Para entender la organización de los grupos de registro de Ray y encontrar los grupos de registro que ayudarán a solucionar los errores, es útil disponer de información básica sobre la arquitectura de Ray.

En ETL de AWS Glue, un proceso de trabajo corresponde a una instancia. Al configurar procesos de trabajo para un trabajo de AWS Glue, se establece el tipo y la cantidad de instancias dedicadas al trabajo. Ray utiliza el término *proceso de trabajo* de diferentes maneras. 

Ray usa el *nodo principal* y el *nodo de trabajo* para distinguir las responsabilidades de una instancia en un clúster de Ray. Un nodo de trabajo de Ray puede alojar procesos de varios *actores* que hacen cálculos para lograr el resultado de su cálculo distribuido. Los actores que ejecutan una réplica de una función se denominan *réplicas*. Los actores de réplica también se pueden denominar procesos de trabajo. Las réplicas también se pueden ejecutar en el nodo principal, que se conoce como el principal porque ejecuta procesos adicionales para coordinar el clúster. 

Cada actor que contribuye al cálculo genera su propio flujo de registro. Esto nos proporciona un poco de información: 
+ La cantidad de procesos que emiten registros puede ser mayor que la cantidad de procesos de trabajo asignados al trabajo. A menudo, cada núcleo de cada instancia tiene un actor.
+  Los nodos principales de Ray emiten registros de inicio y administración de clústeres. Por el contrario, los nodos de trabajo de Ray solo emiten registros del trabajo hecho en ellos.

Para más información acerca de la arquitectura de Ray, consulte [Architecture Whitepapers]( https://docs.ray.io/en/latest/ray-contribute/whitepaper.html) (Documentos técnicos sobre la arquitectura) en la documentación de Ray.

### Área del problema: acceso a Amazon S3
<a name="troubleshooting-ray-errors-s3"></a>

Compruebe el mensaje de error de la ejecución del trabajo. Si eso no proporciona suficiente información, compruebe `/aws-glue/ray/jobs/script-log/`.

### Área del problema: administración de dependencias de PIP
<a name="troubleshooting-ray-errors-dependencies"></a>

Compruebe lo siguiente `/aws-glue/ray/jobs/ray-runtime-env-log/`.

### Área del problema: inspección de valores intermedios en el proceso principal
<a name="troubleshooting-ray-errors-main-process"></a>

Escriba a `stderr` o `stdout` desde su script principal y recupere los registros de `/aws-glue/ray/jobs/script-log/`.

### Área del problema: inspección de valores intermedios en un proceso secundario
<a name="troubleshooting-ray-errors-worker-process"></a>

Escriba a `stderr` o `stdout` desde su función `remote`. A continuación, recupere los registros de `/aws-glue/ray/jobs/ray-worker-out-logs/` o `/aws-glue/ray/jobs/ray-worker-err-logs/`. Es posible que la función se haya ejecutado en cualquier réplica, por lo que es posible que tenga que examinar varios registros para encontrar el resultado deseado.

### Área problemática: interpretación de las direcciones IP en los mensajes de error
<a name="troubleshooting-ray-errors-ips"></a>

En determinadas situaciones de error, es posible que su trabajo emita un mensaje de error que contenga una dirección IP. Estas direcciones IP son efímeras y el clúster las utiliza para identificar los nodos y comunicarse entre ellos. Los registros de un nodo se publicarán en un flujo de registros con un sufijo único basado en la dirección IP. 

En CloudWatch, puede filtrar los registros para inspeccionar los específicos de esta dirección IP a través de la identificación de este sufijo. Por ejemplo, si utiliza *FAILED\$1IP* y *JOB\$1RUN\$1ID*, puede identificar el sufijo con: 

```
filter @logStream like /JOB_RUN_ID/
| filter @message like /IP-/
| parse @message "IP-[*]" as ip
| filter ip like /FAILED_IP/
| fields replace(ip, ":", "_") as uIP
| stats count_distinct by uIP as logStreamSuffix
| display logStreamSuffix
```

# Excepciones de machine learning en AWS Glue
<a name="exceptions-machine-learning"></a>

En este tema se describen los códigos de error HTTP y las cadenas de las excepciones de AWS Glue relacionadas con el machine learning. Se proporcionan los códigos de error y las cadenas de error de cada actividad de machine learning que pueden producirse al realizar una operación. Además, puede ver si es posible volver a intentar la operación que dio lugar al error.

## CancelMLTaskRunActivity
<a name="exceptions-machine-learning-CancelMLTaskRunActivity"></a>

Esta actividad tiene las siguientes excepciones:
+ EntityNotFoundException (400)
  + "No se puede encontrar MLTransform en la cuenta [AccountId] con el identificador [transformName]".
  + "No se ha encontrado la ML Task Run para [taskRunId]: en la cuenta [accountId] para transformar [transformName]".

  Reintentar: No.

## CreateMLTaskRunActivity
<a name="exceptions-machine-learning-CreateMLTransformActivity"></a>

Esta actividad tiene las siguientes excepciones:
+ InvalidInputException (400)
  + "Error de servicio interno debido a una entrada inesperada".
  + "Se debe especificar un origen de entrada de la tabla de AWS Glue en la transformación".
  + "La columna de origen de entrada [columnName] tiene un tipo de datos no válido definido en el catálogo".
  + "Se debe proporcionar exactamente una tabla de registro de entrada".
  + "Se debe especificar el nombre de la base de datos".
  + "Se debe especificar el nombre de la tabla".
  + "El esquema no está definido en la transformación".
  + "El esquema debe contener la clave principal proporcionada: [primaryKey]".
  + "Problema al recuperar el esquema del catálogo de datos: [message]".
  + "No se puede establecer capacidad máxima y número de trabajo/tipo al mismo tiempo".
  + "Se deben establecer tanto WorkerType como NumberOfWorkers".
  + "MaxCapacity debe ser >= [maxCapacity]".
  + "NumberOfWorkers debe ser >= [maxCapacity]".
  + "Los reintentos máximos no deben ser negativos".
  +  "No se han establecido los parámetros de búsqueda de coincidencias".
  + "Se debe especificar una clave principal en los parámetros de búsqueda de coincidencias".

  Reintentar: No.
+ AlreadyExistsException (400)
  + "Ya existe una transformación con el nombre [transformName]".

  Reintentar: No.
+ IdempotentParameterMismatchException (400)
  + "La solicitud de creación de Idempotent para la transformación [transformName] tenía parámetros que no coincidían".

  Reintentar: No.
+ InternalServiceException (500)
  + "Error de dependencia".

  Reintentar: Sí.
+ ResourceNumberLimitExceededException (400)
  + "El recuento de Transformaciones ML ([count]) ha excedido el límite de [limit] transformaciones".

  Reintentar: Sí, una vez que haya eliminado una transformación para dejar espacio a esta nueva.

## DeleteMLTransformActivity
<a name="exceptions-machine-learning-DeleteMLTransformActivity"></a>

Esta actividad tiene las siguientes excepciones:
+ EntityNotFoundException (400)
  + "No se puede encontrar MLTransform en la cuenta [accountId] con el identificador [transformName]"

  Reintentar: No.

## GetMLTaskRunActivity
<a name="exceptions-machine-learning-GetMLTaskRunActivity"></a>

Esta actividad tiene las siguientes excepciones:
+ EntityNotFoundException (400)
  + "No se puede encontrar MLTransform en la cuenta [AccountId] con el identificador [transformName]".
  + "No se ha encontrado la ML Task Run para [taskRunId]: en la cuenta [accountId] para transformar [transformName]".

  Reintentar: No.

## GetMLTaskRunsActivity
<a name="exceptions-machine-learning-GetMLTaskRunsActivity"></a>

Esta actividad tiene las siguientes excepciones:
+ EntityNotFoundException (400)
  + "No se puede encontrar MLTransform en la cuenta [AccountId] con el identificador [transformName]".
  + "No se ha encontrado la ML Task Run para [taskRunId]: en la cuenta [accountId] para transformar [transformName]".

  Reintentar: No.

## GetMLTransformActivity
<a name="exceptions-machine-learning-GetMLTransformActivity"></a>

Esta actividad tiene las siguientes excepciones:
+ EntityNotFoundException (400)
  + "No se puede encontrar MLTransform en la cuenta [AccountId] con el identificador [transformName]".

  Reintentar: No.

## GetMLTransformsActivity
<a name="exceptions-machine-learning-GetMLTransformsActivity"></a>

Esta actividad tiene las siguientes excepciones:
+ EntityNotFoundException (400)
  + "No se puede encontrar MLTransform en la cuenta [AccountId] con el identificador [transformName]".

  Reintentar: No.
+ InvalidInputException (400)
  + "El ID de cuenta no puede estar en blanco".
  + "No se admite clasificación para la columna [column]".
  + "[column] no puede estar en blanco".
  + "Error de servicio interno debido a una entrada inesperada".

  Reintentar: No.

## GetSaveLocationForTransformArtifactActivity
<a name="exceptions-machine-learning-GetSaveLocationForTransformArtifactActivity"></a>

Esta actividad tiene las siguientes excepciones:
+ EntityNotFoundException (400)
  + "No se puede encontrar MLTransform en la cuenta [AccountId] con el identificador [transformName]".

  Reintentar: No.
+ InvalidInputException (400)
  + "Tipo de artefacto no admitido [ArtifactType]".
  + "Error de servicio interno debido a una entrada inesperada".

  Reintentar: No.

## GetTaskRunArtifactActivity
<a name="exceptions-machine-learning-GetTaskRunArtifactActivity"></a>

Esta actividad tiene las siguientes excepciones:
+ EntityNotFoundException (400)
  + "No se puede encontrar MLTransform en la cuenta [AccountId] con el identificador [transformName]".
  + "No se ha encontrado la ML Task Run para [taskRunId]: en la cuenta [accountId] para transformar [transformName]".

  Reintentar: No.
+ InvalidInputException (400)
  + "El nombre de archivo '[fileName]' no es válido para la publicación".
  + "No se puede recuperar el artefacto para el tipo de tarea [taskType]".
  + "No se puede recuperar artefacto para [artifactType]".
  + "Error de servicio interno debido a una entrada inesperada".

  Reintentar: No.

## PublishMLTransformModelActivity
<a name="exceptions-machine-learning-PublishMLTransformModelActivity"></a>

Esta actividad tiene las siguientes excepciones:
+ EntityNotFoundException (400)
  + "No se puede encontrar MLTransform en la cuenta [AccountId] con el identificador [transformName]".
  + "No se puede encontrar un modelo existente con la versión: [version] para el id de cuenta: [accountId] y el id de transformación - [transformId]".

  Reintentar: No.
+ InvalidInputException (400)
  + "El nombre de archivo '[fileName]' no es válido para la publicación".
  + "Signo menos inicial ilegal en cadena sin signo [string]".
  + "Dígito incorrecto al final de [string]".
  +  "El valor de la cadena [string] excede el rango de longitud sin signo".
  + "Error de servicio interno debido a una entrada inesperada".

  Reintentar: No.

## PullLatestMLTransformModelActivity
<a name="exceptions-machine-learning-PullLatestMLTransformModelActivity"></a>

Esta actividad tiene las siguientes excepciones:
+ EntityNotFoundException (400)
  + "No se puede encontrar MLTransform en la cuenta [AccountId] con el identificador [transformName]".

  Reintentar: No.
+ InvalidInputException (400)
  + "Error de servicio interno debido a una entrada inesperada".

  Reintentar: No.
+ ConcurrentModificationException (400)
  + "No se puede crear la versión del modelo que se quiere capacitar debido a inserciones de carreras con parámetros que no coinciden".
  + "El modelo de transformación ML para el id de transformación [transformId] está obsoleto o está siendo actualizado por otro proceso; vuelva a intentarlo".

  Reintentar: Sí.

## PutJobMetadataForMLTransformActivity
<a name="exceptions-machine-learning-PutJobMetadataForMLTransformActivity"></a>

Esta actividad tiene las siguientes excepciones:
+ EntityNotFoundException (400)
  + "No se puede encontrar MLTransform en la cuenta [AccountId] con el identificador [transformName]".
  + "No se ha encontrado la ML Task Run para [taskRunId]: en la cuenta [accountId] para transformar [transformName]".

  Reintentar: No.
+ InvalidInputException (400)
  + "Error de servicio interno debido a una entrada inesperada".
  + "Tipo de metadatos de trabajo desconocido [jobType]".
  +  "Debe proporcionar un ID de ejecución de tarea para actualizar".

  Reintentar: No.

## StartExportLabelsTaskRunActivity
<a name="exceptions-machine-learning-StartExportLabelsTaskRunActivity"></a>

Esta actividad tiene las siguientes excepciones:
+ EntityNotFoundException (400)
  + "No se puede encontrar MLTransform en la cuenta [AccountId] con el identificador [transformName]".
  + "No existe ningún conjunto de etiquetas para transformId [transformID] en el ID de cuenta [accountID]".

  Reintentar: No.
+ InvalidInputException (400)
  + “[message].”
  + "La ruta S3 proporcionada no está en la misma región que la transformación. Se esperaba región: [región], pero se obtuvo: [región]".

  Reintentar: No.

## StartImportLabelsTaskRunActivity
<a name="exceptions-machine-learning-StartExportLabelsTaskRunActivity"></a>

Esta actividad tiene las siguientes excepciones:
+ EntityNotFoundException (400)
  + "No se puede encontrar MLTransform en la cuenta [AccountId] con el identificador [transformName]".

  Reintentar: No.
+ InvalidInputException (400)
  + “[message].”
  + "Ruta de archivo de etiqueta no válida".
  + "No se puede acceder al archivo de etiqueta en [labelPath]. [message]".
  + "No se puede utilizar el rol de IAM proporcionado en la transformación. Rol: [role]".
  + "Archivo de etiqueta de tamaño 0 no válido".
  + "La ruta S3 proporcionada no está en la misma región que la transformación. Se esperaba región: [región], pero se obtuvo: [región]".

  Reintentar: No.
+ ResourceNumberLimitExceededException (400)
  + "El archivo de etiqueta ha superado el límite de [limit] MB".

  Reintentar: No. Considere dividir su archivo de etiqueta en varios archivos más pequeños.

## StartMLEvaluationTaskRunActivity
<a name="exceptions-machine-learning-StartMLEvaluationTaskRunActivity"></a>

Esta actividad tiene las siguientes excepciones:
+ EntityNotFoundException (400)
  + "No se puede encontrar MLTransform en la cuenta [AccountId] con el identificador [transformName]".

  Reintentar: No.
+ InvalidInputException (400)
  + "Se debe proporcionar exactamente una tabla de registro de entrada".
  + "Se debe especificar el nombre de la base de datos".
  + "Se debe especificar el nombre de la tabla".
  + "No se han establecido los parámetros de búsqueda de coincidencias".
  + "Se debe especificar una clave principal en los parámetros de búsqueda de coincidencias".

  Reintentar: No.
+ MLTransformNotReadyException (400)
  + "Esta operación solo se puede aplicar a una transformación que se encuentra en un estado READY".

  Reintentar: No.
+ InternalServiceException (500)
  + "Error de dependencia".

  Reintentar: Sí.
+ ConcurrentRunsExceededException (400)
  + "El recuento de ML Task Runs [count] ha superado el límite de transformación de las ejecuciones de [limit] tareas".
  + "El recuento de ML Task Runs [count] ha superado el límite de ejecuciones de [limit] tareas".

  Reintentar: Sí, después de esperar a que finalicen las ejecuciones de tareas.

## StartMLLabelingSetGenerationTaskRunActivity
<a name="exceptions-machine-learning-StartMLLabelingSetGenerationTaskRunActivity"></a>

Esta actividad tiene las siguientes excepciones:
+ EntityNotFoundException (400)
  + "No se puede encontrar MLTransform en la cuenta [AccountId] con el identificador [transformName]".

  Reintentar: No.
+ InvalidInputException (400)
  + "Se debe proporcionar exactamente una tabla de registro de entrada".
  + "Se debe especificar el nombre de la base de datos".
  + "Se debe especificar el nombre de la tabla".
  + "No se han establecido los parámetros de búsqueda de coincidencias".
  + "Se debe especificar una clave principal en los parámetros de búsqueda de coincidencias".

  Reintentar: No.
+ InternalServiceException (500)
  + "Error de dependencia".

  Reintentar: Sí.
+ ConcurrentRunsExceededException (400)
  + "El recuento de ML Task Runs [count] ha superado el límite de transformación de las ejecuciones de [limit] tareas".

  Reintentar: Sí, después de que se hayan completado las ejecuciones de tareas.

## UpdateMLTransformActivity
<a name="exceptions-machine-learning-UpdateMLTransformActivity"></a>

Esta actividad tiene las siguientes excepciones:
+ EntityNotFoundException (400)
  + "No se puede encontrar MLTransform en la cuenta [AccountId] con el identificador [transformName]".

  Reintentar: No.
+ InvalidInputException (400)
  + "Ya existe otra transformación con el nombre [transformName]".
  + “[message].”
  + "El nombre de la transformación no puede estar en blanco".
  + "No se puede establecer capacidad máxima y número de trabajo/tipo al mismo tiempo".
  + "Se deben establecer tanto WorkerType como NumberOfWorkers".
  + "MaxCapacity debe ser >= [minMaxCapacity]".
  + "NumberOfWorkers debe ser >= [minNumWorkers]".
  + "Los reintentos máximos no deben ser negativos".
  + "Error de servicio interno debido a una entrada inesperada".
  + "No se han establecido los parámetros de búsqueda de coincidencias".
  + "Se debe especificar una clave principal en los parámetros de búsqueda de coincidencias".

  Reintentar: No.
+ AlreadyExistsException (400)
  + "Ya existe una transformación con el nombre [transformName]".

  Reintentar: No.
+ IdempotentParameterMismatchException (400)
  + "La solicitud de creación de Idempotent para la transformación [transformName] tenía parámetros que no coincidían".

  Reintentar: No.

# Cuotas de AWS Glue
<a name="troubleshooting-service-limits"></a>

Puede ponerse en contacto con AWS Supportpara [solicitar un aumento de cuota](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) para las service quotas indicadas en el *Referencia general de AWS*. A menos que se indique lo contrario, cada cuota es específica de la región. Para obtener más información, consulte [Puntos de conexión y cuotas de AWS Glue](https://docs.aws.amazon.com/general/latest/gr/glue.html). 