Behebung von Tabellenfehlern - 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.

Behebung von Tabellenfehlern

Verwenden Sie die Informationen in diesem Abschnitt, um Fehler in der Athena for Spark-Tabelle zu beheben.

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 einem zu erstellen AWS Glue Datenbank, und die Datenbank hat eine leere LOCATION Eigenschaft.

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

AccessDeniedException bei der Abfrage AWS Glue Tische

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

Ursache: Der Ausführungsrolle für Ihre Spark-fähige Arbeitsgruppe fehlen Zugriffsberechtigungen AWS Glue Ressourcen schätzen.

Vorgeschlagene Lösung: Um dieses Problem zu beheben, 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 zu gewähren auf AWS Glue Ressourcen
  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 mit den Übersichtsdetails für die Arbeitsgruppe den ARN Link Rolle aus. Der Link öffnet die Spark-Ausführungsrolle in der IAM Konsole.

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

  7. Wählen Sie Richtlinie bearbeiten und dann JSON.

  8. Addition AWS Glue Zugriff auf die Rolle. In der Regel fügen Sie Berechtigungen für die Aktionen glue:GetDatabase und glue:GetTable hinzu. Weitere Informationen zur Konfiguration 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.