¿Por qué mi consulta de Athena falla y aparece el error «HIVE_PARTITION_SCHEMA_MISMATCH»?

3 minutos de lectura
0

Cuando ejecuto mi consulta de Amazon Athena en una tabla con particiones, la consulta falla y aparece el error «HIVE_PARTITION_SCHEMA_MISMATCH.»

Breve descripción

Cuando ejecuta una consulta en una tabla de Athena con particiones, Athena valida el esquema de la tabla y el de sus particiones en el Catálogo de datos de AWS Glue. La validación compara los tipos de datos de las columnas por orden y comprueba que los tipos de datos de las columnas que se superponen coincidan. Una partición nueva normalmente hereda el esquema de la tabla asociada. Sin embargo, en ciertos escenarios puede que, con el tiempo, los esquemas acaben por divergir. Cuando el tipo de datos de una columna del esquema de particiones no coincide con el tipo de datos de la columna correspondiente del esquema de la tabla, se produce un error en la consulta y aparece el error «HIVE_PARTITION_SCHEMA_MISMATCH.»

Puede solucionar este error mediante uno de los siguientes métodos:

  • Si utilizó un rastreador de AWS Glue para crear la tabla, configure el rastreador de AWS Glue de modo que actualice el esquema de particiones.
  • Si creó la tabla manualmente, utilice una instrucción en el lenguaje de definición de datos (DDL) de Athena para quitar la partición afectada y volver a crearla.

Solución

Configuración del rastreador de AWS Glue de modo que actualice el esquema de particiones

  1. Abra la consola de AWS Glue.
  2. En el panel de navegación, seleccione Rastreadores.
  3. Seleccione el rastreador que desee configurar.
  4. Elija Acción y, a continuación, seleccione Editar rastreador.
  5. Elija Siguiente hasta que llegue a la página Seleccionar el resultado del rastreador.
  6. Expanda Opciones de configuración.
  7. Seleccione Actualizar todas las particiones nuevas y existentes con metadatos de la tabla.
  8. Elija Siguiente y, a continuación, Finalizar para guardar la configuración del rastreador.
  9. En la página Rastreadores, seleccione el rastreador que editó.
  10. Seleccione Ejecutar rastreador. Al ejecutar el rastreador, las particiones heredan el esquema de la tabla.

Utilización de una instrucción DDL de Athena para quitar la partición afectada y volver a crearla

  1. Abra la consola de Amazon Athena.
  2. En la pestaña Editor de consultas, ejecute el comando ALTER TABLE DROP PARTITION para quitar la partición afectada.
  3. Ejecute el comando ALTER TABLE ADD PARTITION para volver a crear la partición quitada.
    Nota: Si la tabla utiliza particiones compatibles con Hive, puede ejecutar el comando MSCK REPAIR TABLE para volver a crear la partición quitada.

Información relacionada

Sincronización de un esquema de partición para evitar «HIVE_PARTITION_SCHEMA_MISMATCH»

Opciones de configuración de rastreadores en la consola de AWS Glue

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 3 años