Fehlerbehebung bei Tabellen - Amazon Athena

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Fehlerbehebung bei Tabellen

Beim Erstellen einer Tabelle kann kein Pfadfehler erstellt werden

Fehlermeldung IllegalArgumentException: Aus einer leeren Zeichenfolge kann kein Pfad erstellt werden.

Ursache: Dieser Fehler kann auftreten, wenn Sie Apache Spark in Athena verwenden, um eine Tabelle in einer AWS Glue Datenbank zu erstellen und die Datenbank eine leere LOCATION Eigenschaft hat.

Lösungsvorschlag: Weitere Informationen und Lösungen finden Sie unter Unzulässige Argumentausnahme beim Erstellen einer Tabelle.

AccessDeniedException beim Abfragen AWS Glue von Tabellen

Fehlermeldung: pyspark.sql.utils. AnalysisException: Das Vorhandensein der Standarddatenbank konnte nicht überprüft werden: com.amazonaws.services.glue.model. AccessDeniedException: Benutzer: arn:aws:sts: :assumed-role/ aws-account-id- AWSAthenaSparkExecutionRole unique-identifier/- AthenaExecutor unique-identifier ist nicht berechtigt, Folgendes auszuführen: glue: on GetDatabase resource: arn:aws:glue: aws-region ::catalog, weil aws-account-idkeine identitätsbasierte Richtlinie die glue: -Aktion zulässt (Service:; Statuscode: 400; Fehlercode:; Fehlercode:; Fehlercode:; Anforderungs-ID: request-id; Proxy: null) GetDatabase AWSGlue AccessDeniedException

Ursache: Der Ausführungsrolle für Ihre Spark-fähige Arbeitsgruppe fehlen Berechtigungen für den Zugriff auf AWS Glue Ressourcen.

Vorgeschlagene Lösung: Um dieses Problem zu lösen, gewähren Sie Ihrer Ausführungsrolle Zugriff auf AWS Glue Ressourcen und bearbeiten Sie dann Ihre Amazon S3 S3-Bucket-Richtlinie, um Zugriff auf Ihre Ausführungsrolle zu gewähren.

Das folgende Verfahren beschreibt diese Schritte im Detail.

Um Ihrer Ausführungsrolle Zugriff auf AWS Glue Ressourcen zu gewähren
  1. Öffnen Sie die Athena-Konsole unter https://console.aws.amazon.com/athena/.

  2. Wenn der Navigationsbereich in der Konsole nicht sichtbar ist, wählen Sie das Erweiterungsmenü auf der linken Seite.

    Wählen Sie das Erweiterungsmenü aus.
  3. Wählen Sie im Navigationsbereich der Athena-Konsole Workgroups (Arbeitsgruppen) aus.

  4. Wählen Sie auf der Seite der Workgroups (Arbeitsgruppen) den Link der Arbeitsgruppe aus, die Sie anzeigen möchten.

  5. Wählen Sie auf der Seite Overview Details (Übersichtsdetails) für die Arbeitsgruppe den Link Role ARN (Rollen-ARN) aus. Über den Link wird die Spark-Ausführungsrolle in der IAM-Konsole geöffnet.

  6. Wählen Sie im Abschnitt Permissions policies (Berechtigungsrichtlinien) den Namen der verknüpften Rollenrichtlinie.

  7. Wählen Sie Edit policy (Richtlinie bearbeiten) und anschließend JSON.

  8. Fügen Sie AWS Glue Zugriff auf die Rolle hinzu. In der Regel fügen Sie Berechtigungen für die Aktionen glue:GetDatabase und glue:GetTable hinzu. Weitere Informationen zum Konfigurieren von IAM-Rollen finden Sie unter Hinzufügen und Entfernen von IAM-Identitätsberechtigungen im IAM-Benutzerhandbuch.

  9. Wählen Sie Review policy (Richtlinie überprüfen) aus und klicken Sie anschließend auf Save changes (Änderungen speichern).

  10. Bearbeiten Sie Ihre Amazon-S3-Bucket-Richtlinie, um Zugriff auf die Ausführungsrolle zu gewähren. Beachten Sie, dass Sie der Rolle sowohl Zugriff auf den Bucket als auch auf die Objekte im Bucket gewähren müssen. Weitere Schritte finden Sie unter Hinzufügen einer Bucket-Richtlinie mit der Amazon-S3-Konsole im Benutzerhandbuch zu Amazon Simple Storage Service.