Warum fügt meine MSCK REPAIR TABLE-Abfrage keine Partitionen zum AWS Glue Data Catalog hinzu?

Lesedauer: 2 Minute
0

Wenn ich MSCK REPAIR TABLE ausführe, gibt Amazon Athena eine Liste von Partitionen zurück, fügt die Partitionen dann jedoch nicht zur Tabelle im AWS Glue-Datenkatalog hinzu.

Kurzbeschreibung

Hier sind einige häufige Ursachen für dieses Verhalten:

  • Der AWS Identity and Access Management (IAM)- Benutzer oder die -Rolle verfügt über keine Richtlinie, die die Aktion glue:BatchCreatePartition zulässt.
  • Der Pfad zu Amazon Simple Storage Service (Amazon S3) wird in Binnenmajuskeln statt in Kleinbuchstaben geschrieben (z. B. userId statt userid).

Lösung

glue:BatchCreatePartition in der IAM-Richtlinie zulassen

Überprüfen Sie die IAM-Richtlinien, die dem Benutzer oder der Rolle zugeordnet sind, die Sie zum Ausführen von MSCK REPAIR TABLE verwenden. Wenn Sie den AWS-Glue-Datenkatalog mit Athena verwenden, muss die IAM-Richtlinie die Aktion glue:BatchCreatePartition zulassen. Wenn die Richtlinie diese Aktion nicht zulässt, kann Athena dem Metastore keine Partitionen hinzufügen. Ein Beispiel für eine IAM-Richtlinie, die die Aktion glue:BatchCreatePartition erlaubt, finden Sie in der verwalteten Richtlinie AmazonAthenaFullAccess.

Ändern Sie den Amazon S3-Pfad zu Kleinbuchstaben

Der Amazon S3-Pfadname muss klein geschrieben sein. Wenn der Pfad in Binnenmajuskeln angegeben ist, fügt MSCK REPAIR TABLE die Partitionen nicht zum AWS-Glue-Datenkatalog hinzu. Wenn der Amazon S3-Pfad beispielsweise userId ist, werden die folgenden Partitionen nicht zum AWS-Glue-Datenkatalog hinzugefügt:

  • s3://awsdoc-example-bucket/path/userId=1/
  • s3://awsdoc-example-bucket/path/userId=2/
  • s3://awsdoc-example-bucket/path/userId=3/

Um dieses Problem zu lösen, verwenden Sie Kleinbuchstaben statt Binnenmajuskeln:

  • s3://awsdoc-example-bucket/path/userid=1/
  • s3://awsdoc-example-bucket/path/userid=2/
  • s3://awsdoc-example-bucket/path/userid=3/

Ähnliche Informationen

Partitionierung von Daten in Athena

Aktionen, Ressourcen und Bedingungsschlüssel für Amazon Athena

Aktionen, Ressourcen und Bedingungsschlüssel für AWS Glue

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren