¿Por qué mi rastreador de AWS Glue da error y se produce una excepción del servicio interno?
Mi rastreador de AWS Glue no funciona y se muestra «ERROR: Excepción del servicio interno».
Resolución
Las excepciones internas del servicio del rastreador se pueden deber a problemas pasajeros. Antes de empezar a solucionar problemas, vuelva a ejecutar el rastreador. Si sigue apareciendo una excepción interna del servicio, compruebe si se debe a algunos de los problemas habituales.
Problemas con los datos
Si el rastreador de AWS Glue está configurado para procesar una gran cantidad de datos, es posible que se enfrente a una excepción interna del servicio. Revise las causas de los problemas con los datos para solventarlas:
- Si tiene una gran cantidad de archivos pequeños, es posible que se produzca un error del rastreador por una excepción interna del servicio. Para evitar este problema, utilice la herramienta S3DistCp para combinar archivos más pequeños. Si utiliza S3DistCp, incurrirá en cargos adicionales de Amazon EMR. Como alternativa, puede definir patrones de exclusión y rastrear los archivos de forma iterativa. Por último, plantéese activar el muestreo para evitar tener que analizar todos los archivos incluidos en un prefijo.
- Si el rastreador se acerca al límite de tiempo de 24 horas, fragmente el flujo de trabajo para evitar problemas de memoria. Para obtener más información, consulte ¿Por qué dura tanto tiempo la ejecución del rastreador de AWS Glue?
Nota: La mejor manera de solucionar los problemas de escala de datos es reducir la cantidad de datos procesados.
Estructura de carpetas incoherente de Amazon Simple Storage Service (Amazon S3)
Con el tiempo, el rastreador de AWS Glue acaba encontrando los datos en un formato específico. Sin embargo, las inconsistencias en aplicaciones preliminares pueden desencadenar un error de excepción interna del servicio.
Puede haber inconsistencias entre una definición de partición de tabla en el Catálogo de datos y una estructura de partición de Hive en Amazon S3. Diferencias como esta pueden causar problemas al rastreador. Por ejemplo, puede que el rastreador espere que los objetos se fragmenten como «s3://awsdoc-example-bucket/yyyy=xxxx/mm=xxx/dd=xx/[files]». Pero supongamos que algunos de los objetos corresponden, en cambio, a «s3://awsdoc-example-bucket/yyyy=xxxx/mm=xxx/[files]». Cuando esto ocurre, se produce un error en el rastreador y se muestra una excepción interna del servicio.
Si modifica una ubicación de datos rastreada anteriormente, puede producirse un error de excepción interna del servicio por un rastreo progresivo. Esto se debe a que se cumple una de estas condiciones:
- Una ubicación de Amazon S3 que se sabe que está vacía se actualiza con archivos de datos
- Se eliminan archivos de una ubicación de Amazon S3 que se sabe que está llena de archivos de datos
Si realiza cambios en la estructura de prefijos de Amazon S3, se activará esta excepción.
Si cree que se han producido cambios en su almacén de datos de S3, se recomienda eliminar el rastreador actual. Tras eliminar el rastreador actual, cree otro nuevo en el mismo destino de S3 mediante la opción Rastrear todas las carpetas.
Problemas con AWS Key Management Service (AWS KMS)
Si su almacén de datos está configurado con cifrado de AWS KMS, compruebe lo siguiente:
- Confirme que el rol de AWS Identity and Access Management (IAM) de su rastreador tiene los permisos necesarios para acceder a la clave de AWS KMS.
- Confirme que su política de claves de AWS KMS delega los permisos correctamente.
- Confirme que la clave de AWS KMS aún existe y que su estado es Disponible. Si la clave de AWS KMS está pendiente de eliminación, se desencadenará una excepción interna del servicio.
Para obtener más información, consulte Trabajo con configuraciones de seguridad en la consola de AWS Glue y Configuración del cifrado en AWS Glue.
Problemas con el Catálogo de datos de AWS Glue
Si el Catálogo de datos tiene muchas columnas o estructuras anidadas, es posible que el tamaño del esquema supere el límite de 400 KB. Para solucionar las excepciones relacionadas con el Catálogo de datos, compruebe lo siguiente:
- Asegúrese de que los nombres de las columnas no tengan más de 255 caracteres ni caracteres especiales. Para obtener más información sobre los requisitos de las columnas, consulte Columna.
- Compruebe si hay columnas que tengan una longitud de 0. Esto puede ocurrir si las columnas en los datos de origen no coinciden con el formato de datos de la tabla del Catálogo de datos.
- En la definición del esquema de la tabla, asegúrese de que el valor de Tipo de cada una de las columnas no supere los 131 072 bytes. Si se supera este límite, es posible que el rastreador se enfrente a una excepción interna del servicio. Para obtener más información, consulte Estructura de las columnas.
- Compruebe si hay datos con formato incorrecto. Por ejemplo, si el nombre de la columna no respeta el patrón habitual para expresiones «[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]», el rastreador no funcionará.
- Si los datos contienen columnas de DECIMALES con formato (precisión, escala), confirme que el valor de la escala sea menor o igual que el valor de la precisión.
- Es posible que el rastreador no funcione y que se muestre el mensaje de error «No se puede crear una tabla en el catálogo» o «El tamaño de la carga ha superado el límite». Cuando esto suceda, supervise el tamaño de la definición del esquema de la tabla. No hay límite en cuanto al número de columnas que puede tener una tabla del Catálogo de datos. Sin embargo, hay un límite de 400 KB para el tamaño total del esquema. Un número elevado de columnas contribuye a que el tamaño total del esquema supere el límite de 400 KB. Las posibles soluciones alternativas incluyen fragmentar el esquema en varias tablas y eliminar las columnas innecesarias. También puede plantearse reducir los nombres de las columnas para así reducir el tamaño de los metadatos.
Problemas con Amazon S3
- Asegúrese de que la ruta de Amazon S3 no contenga caracteres especiales.
- Confirme que el rol de IAM del rastreador tiene permisos para acceder a la ruta de Amazon S3. Para obtener más información, consulte Creación de un rol de IAM para AWS Glue.
- Elimine los caracteres ASCII especiales (como ^, % y ~) de sus datos siempre que sea posible. O utilice clasificadores personalizados para clasificar sus datos.
- Confirme que los objetos de S3 utilizan la clase de almacenamiento ESTÁNDAR. Para restaurar objetos a la clase de almacenamiento ESTÁNDAR, consulte Restauración de un objeto archivado.
- Confirme que los patrones de inclusión y exclusión en la configuración del rastreador coincidan con las rutas de bucket de S3.
- Si está rastreando un bucket de S3 cifrado, confirme que el rol de IAM del rastreador tenga los permisos adecuados para la clave de AWS KMS. Para obtener más información, consulte Trabajo con configuraciones de seguridad en la consola de AWS Glue y Configuración del cifrado en AWS Glue.
- Si está rastreando un bucket de S3 cifrado, asegúrese de que el bucket, la clave de AWS KMS y el trabajo de AWS Glue estén en la misma región de AWS.
- Compruebe el porcentaje de solicitudes en el bucket de S3 que está rastreando. Si es alto, plantéese crear más prefijos para tener lecturas en paralelo. Para obtener más información, consulte Prácticas recomendadas para patrones de diseño: optimización del rendimiento de Amazon S3.
- Asegúrese de que la longitud de la ruta de recursos de S3 sea inferior a 700 caracteres.
Problemas con Amazon DynamoDB
- Asegúrese de que la tabla tenga suficientes unidades de capacidad de lectura.
- Asegúrese de que el rol de IAM que utilice para ejecutar el rastreador tenga el permiso dynamodb:Scan. Para obtener más información, consulte Permisos de la API de DynamoDB: referencia acerca de acciones, recursos y condiciones.
- Asegúrese de que el nombre de la tabla no incluya espacios en blanco.
Problemas con JDBC
- Si está rastreando un origen de datos de JDBC cifrado con AWS KMS, compruebe la subred que está utilizando para la conexión. La tabla de rutas de la subred debe tener una ruta al punto de conexión de AWS KMS. Esta ruta puede pasar por un punto de conexión de nube virtual privada (VPC) compatible con AWS KMS o una puerta de enlace de NAT.
- Asegúrese de utilizar la sintaxis correcta para la ruta de inclusión. Para obtener más información, consulte Definición de rastreadores.
- Si está rastreando un almacén de datos de JDBC, confirme que la conexión de SSL se haya configurado correctamente. Si no utiliza una conexión de SSL, compruebe que no se haya marcado Requerir conexión SSL al configurar el rastreador.
- Confirme que el nombre de la base de datos en la conexión de AWS Glue coincida con el nombre de la base de datos en la ruta de inclusión del rastreador. Además, no olvide introducir la ruta de inclusión correctamente. Para obtener más información, consulte Patrones de inclusión y exclusión.
- Asegúrese de que la subred que utiliza esté en una zona de disponibilidad compatible con AWS Glue.
- Asegúrese de que la subred que utiliza tenga suficientes direcciones IP privadas disponibles.
- Confirme que el origen de datos de JDBC sea compatible con el controlador de JDBC integrado en AWS Glue.
Problemas con AWS KMS al usar un punto de conexión de VPC
- Si utiliza AWS KMS, el rastreador de AWS Glue debe tener acceso a AWS KMS. Para concederle acceso, seleccione la opción Habilitar nombre de DNS privado cuando cree el punto de conexión de AWS KMS. A continuación, añada el punto de conexión de AWS KMS a la configuración de subred de VPC para la conexión de AWS Glue. Para obtener más información, consulte Conexión a AWS KMS a través de un punto de conexión de VPC.
Información relacionada
Trabajo con rastreadores en la consola de AWS Glue
Cifrado de datos escritos por rastreadores, trabajos y puntos de conexión de desarrollo
Contenido relevante
- OFICIAL DE AWSActualizada hace 3 años
- OFICIAL DE AWSActualizada hace 3 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 años