¿Por qué mi rastreador de AWS Glue no agrega particiones nuevas a la tabla?

3 minutos de lectura
0

Mi rastreador de AWS Glue no agrega particiones nuevas a la tabla.

Descripción breve

Cuando el rastreador escanea los archivos de datos de origen en una nueva partición, compara 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 Simple Storage Service (Amazon S3)

Si alguno de estos atributos de la partición difiere de los atributos de la tabla, la partición se omite y no se agrega a los metadatos. Una diferencia en el nombre, la secuencia o el número de particiones en la ruta de Amazon S3 se considera un cambio en el esquema o la estructura de las particiones.

Solución

Solución del problema

Consulte los registros del rastreador para identificar el problema:

  1. Abra la consola de AWS Glue.
  2. En el panel de navegación, elija Rastreadores.
  3. Seleccione el rastreador y, a continuación, elija el enlace Registros para ver los registros en la consola de CloudWatch.
  4. Revise 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. Esto 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 ve registros similares, compare 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

Según la información de los registros de CloudWatch, plantéese una o varias de las siguientes soluciones posibles:

  • Si el problema se debe a una estructura de partición incoherente, cambie el nombre de la ruta de S3 manualmente o mediante programación para que la estructura sea coherente.
  • Si se omite la partición debido a una discrepancia en el formato de archivo, el formato de compresión o el esquema y no es necesario incluir los datos en la tabla deseada, plantéese lo siguiente:
  • Utilice un patrón de exclusiónpara omitir los archivos no deseados.
  • Mueva el archivo no deseado a otra ubicación distinta.
  • Si sus datos tienen esquemas diferentes en algunos archivos de entrada y esquemas similares en otros archivos de entrada, combine los esquemas compatibles cuando cree el rastreador. En la página Configuración del resultado del rastreador, en Comportamiento de agrupación de los datos de S3 (opcional), elija Crear un único esquema para cada ruta de S3. Cuando esta configuración está activada y los datos son compatibles, el rastreador ignora la similitud entre esquemas concretos al evaluar los objetos de S3 en la ruta de inclusión especificada. Para obtener más información, consulte Cómo puedo crear un único esquema para cada ruta de inclusión de Amazon S3.
  • Si el rastreador crea varias tablas, consulte ¿Cómo puedo impedir que el rastreador de AWS Glue cree varias tablas?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 3 años