Mi rastreador de AWS Glue no agrega particiones nuevas a la tabla.
Descripción corta
AWS Glue considera una diferencia en el nombre, la secuencia o el número de particiones en la ruta de Amazon Simple Storage Service (Amazon S3) como un cambio en el esquema o la estructura de la partición. Los rastreadores analizan los archivos de datos de origen en una nueva partición y comparan los siguientes atributos de los archivos de origen con los de la tabla existente:
- Formato de archivo
- Tipo de compresión
- Esquema
- Estructura de las particiones de Amazon S3
Si alguno de estos atributos de partición difiere de los de la tabla, AWS Glue omite la partición y no actualiza los metadatos.
Resolución
Solución del problema
Para comprobar los registros del rastreador a fin de identificar el problema, sigue estos pasos:
- Abre la consola de AWS Glue.
- En el panel de navegación, elige Rastreadores.
- Selecciona el rastreador y, a continuación, elige Registros para ver los registros en la consola de Amazon CloudWatch.
- Revisa los registros para comprobar si el rastreador ha omitido la nueva partición.
Por ejemplo, supongamos que el registro incluye entradas con un aspecto parecido a este:
Folder partition keys do not match table partition keys, skipped folder: doc-example-bucket/doc-example-path/doc-example-table/year=2021/month=01/sday=05/
Esta entrada hace pensar que la estructura de partición para la ubicación de Amazon S3 no coincide con las claves de partición definidas para la tabla. Esta diferencia puede ocurrir cuando la estructura de partición no es coherente en la ubicación de origen de la tabla.
Si el rastreador de AWS Glue crea varias tablas, las entradas del registro tendrán un aspecto como este:
INFO : Created table doc-example-table in database doxtest_db
Si ves registros similares, compara el esquema y la estructura de partición de la ubicación de estas tablas con los de la tabla original.
Solución del problema
Actualización de la estructura de partición
Si el problema se debe a una estructura de partición incoherente, cambia el nombre de la estructura de forma manual o mediante programación para que sea coherente.
Exclusión de archivos específicos
AWS Glue puede omitir una partición por uno de los siguientes motivos:
- Formatos de archivo no coincidentes
- Formatos de compresión
- Problemas de esquema
Si AWS Glue omite una partición por uno de estos motivos y los datos no son necesarios en la tabla, lleva a cabo una de las siguientes acciones:
Combinación de esquemas compatibles
Si los datos tienen esquemas similares en diferentes archivos de entrada, combina los esquemas compatibles al crear el rastreador. En la página Configuración del resultado del rastreador, en Comportamiento de agrupación de los datos de S3 (opcional), elige Crear un único esquema para cada ruta de S3. Si activas esta configuración y los datos son compatibles, el rastreador ignora la similitud de esquemas específicos para objetos de S3 en la ruta especificada. Para obtener más información, consulta Creación de un único esquema para cada ruta de inclusión de Amazon S3.
Evitar que haya varias tablas
Si el rastreador está creando varias tablas, consulta ¿Cómo puedo impedir la creación de varias tablas durante la ejecución de un rastreador de AWS Glue?