Cuando ejecuto MSCK REPAIR TABLE, Amazon Athena devuelve una lista de particiones, pero luego no las añade a la tabla del Catálogo de datos de AWS Glue.
Descripción breve
Estas son algunas de las causas comunes de este comportamiento:
- El usuario o el rol de AWS Identity and Access Management (IAM) no tienen una política que permita la acción glue:BatchCreatePartition.
- La ruta de Amazon Simple Storage Service (Amazon S3) incluye mayúsculas en lugar de estar completamente en minúsculas (por ejemplo, userId en lugar de userid).
Resolución
Permitir glue:BatchCreatePartition en la política de IAM
Revise las políticas de IAM adjuntas al usuario o rol que utiliza para ejecutar MSCK REPAIR TABLE. Al utilizar el Catálogo de datos de AWS Glue con Athena, la política de IAM debe permitir la acción glue:BatchCreatePartition. Si la política no permite esa acción, Athena no podrá añadir particiones al metaalmacén. Para ver un ejemplo de una política de IAM que permite la acción glue:BatchCreatePartition, consulte Política administrada AmazonAthenaFullAccess.
Cambiar la ruta de Amazon S3 a minúsculas
El nombre de la ruta de Amazon S3 debe estar en minúsculas. Si la ruta está en mayúsculas, MSCK REPAIR TABLE no añade las particiones al Catálogo de datos de AWS Glue. Por ejemplo, si la ruta de Amazon S3 es userId, las siguientes particiones no se añaden al Catálogo de datos de AWS Glue:
- s3://awsdoc-example-bucket/path/userId=1/
- s3://awsdoc-example-bucket/path/userId=2/
- s3://awsdoc-example-bucket/path/userId=3/
Para resolver este problema, use minúsculas en lugar de incluir alguna mayúscula:
- s3://awsdoc-example-bucket/path/userid=1/
- s3://awsdoc-example-bucket/path/userid=2/
- s3://awsdoc-example-bucket/path/userid=3/
Información relacionada
Particiones de datos en Athena
Acciones, recursos y claves de condición para Amazon Athena
Acciones, recursos y claves de condición para AWS Glue