signin servidor gratuita capa aws amazon-web-services amazon-s3 amazon-athena aws-glue

amazon-web-services - servidor - capa gratuita aws



¿Cómo crear una tabla de pegado de AWS donde las particiones tienen columnas diferentes?(''HIVE_PARTITION_SCHEMA_MISMATCH'') (2)

Según este tema del Foro de AWS , ¿alguien sabe cómo usar AWS Glue para crear una tabla Athena de AWS cuyas particiones contienen diferentes esquemas (en este caso, diferentes subconjuntos de columnas del esquema de la tabla)?

En este momento, cuando ejecuto el rastreador sobre estos datos y luego hago una consulta en Athena, ''HIVE_PARTITION_SCHEMA_MISMATCH'' el error ''HIVE_PARTITION_SCHEMA_MISMATCH''

Mi caso de uso es:

  • Las particiones representan días
  • Los archivos representan eventos
  • Cada evento es un json blob en un solo archivo s3
  • Un evento contiene un subconjunto de columnas (dependiendo del tipo de evento)
  • El ''esquema'' de toda la tabla es el conjunto completo de columnas para todos los tipos de eventos (esto se realiza correctamente mediante el rastreador de pegamentos)
  • El ''esquema'' de cada partición es el subconjunto de columnas para los tipos de eventos que ocurrieron ese día (por lo tanto, en Pegamento cada partición tiene potencialmente un subconjunto diferente de columnas del esquema de la tabla)
  • Esta inconsistencia causa el error en Atenea, creo.

Si tuviera que escribir manualmente un esquema, podría hacerlo bien, ya que solo habría un esquema de tabla y las claves que faltan en el archivo JSON se tratarán como nulos.

¡Gracias por adelantado!


Esto me ayudó. Publicar la imagen para otros en caso de que se pierda el enlace.


Tuve el mismo problema, lo resolví configurando el rastreador para actualizar los metadatos de la tabla para particiones preexistentes: