Abfragen von Amazon S3 Tables mit Athena
Amazon Athena ist ein interaktiver Abfrageservice, den Sie nutzen können, um mit Standard-SQL Daten direkt in Amazon S3 zu analysieren. Weitere Informationen finden Sie im Benutzerhandbuch zu Amazon Athena unter Was ist Amazon Athena?.
Nachdem Sie Ihre Tabellen-Buckets in AWS-Analytikservices integriert haben, können Sie Data Definition Language (DDL), Data Manipulation Language (DML) und Data Query Language (DQL)-Abfragen für S3-Tabellen mithilfe von Athena ausführen. Weitere Informationen zum Abfragen von Tabellen in einem Tabellen-Bucket finden Sie unter Registrieren von S3-Table-Bucket-Katalogen im Amazon Athena-Benutzerhandbuch.
Sie können Abfragen in Athena auch von der Amazon-S3-Konsole aus ausführen.
Wichtig
Achten Sie beim Erstellen von Tabellen darauf, dass Sie in Ihren Tabellennamen und Tabellendefinitionen ausschließlich Kleinbuchstaben verwenden. Stellen Sie beispielsweise sicher, dass Ihre Spaltennamen ausschließlich in Kleinbuchstaben geschrieben sind. Wenn Ihr Tabellenname oder Ihre Tabellendefinition Großbuchstaben enthält, wird die Tabelle von AWS Lake Formation oder der AWS Glue Data Catalog nicht unterstützt. In diesem Fall ist Ihre Tabelle für AWS-Analytikservices wie Amazon Athena nicht sichtbar, auch wenn Ihre Tabellen-Buckets in AWS-Analytikservices integriert sind.
Wenn Ihre Tabellendefinition Großbuchstaben enthält, erhalten Sie beim Ausführen einer SELECT-Abfrage in Athena die folgende Fehlermeldung: „GENERIC_INTERNAL_ERROR: Get table request failed: com.amazonaws.services.glue.model.ValidationException: Unsupported Federation Resource - Invalid table or column names.“
Das folgende Verfahren verwendet die Amazon-S3-Konsole, um auf den Athena-Abfrage-Editor zuzugreifen, sodass Sie eine Tabelle mit Amazon Athena abfragen können.
Anmerkung
Bevor Sie die folgenden Schritte ausführen, stellen Sie sicher, dass Sie Ihre Tabellen-Buckets in die AWS-Analytikservices in dieser Region integriert haben. Weitere Informationen finden Sie unter Integrieren von Amazon S3 Tables mit AWS-Analytikservices.
So fragen Sie eine Tabelle ab
Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/
. -
Wählen Sie im linken Navigationsbereich Tabellen-Buckets aus.
-
Wählen Sie auf der Seite Tabellen-Buckets den Bucket aus, der die Tabelle enthält, die Sie abfragen möchten.
-
Wählen Sie auf der Seite mit den Bucket-Details die Optionsschaltfläche neben dem Namen der Tabelle, die Sie abfragen möchten.
-
Wählen Sie Tabelle mit Athena abfragen.
-
Die Amazon Athena-Konsole wird geöffnet und der Athena-Abfrageeditor wird mit einer für Sie geladenen
SELECT-Beispielabfrage angezeigt. Ändern Sie diese Abfrage nach Bedarf für Ihren Anwendungsfall.Im Abfrage-Editor sollte das Feld Katalog mit s3tablescatalog/ gefolgt vom Namen Ihres Tabellen-Buckets ausgefüllt werden, beispielsweise s3tablescatalog/
amzn-s3-demo-bucket. Das Datenbankfeld sollte mit dem Namespace gefüllt werden, in dem Ihre Tabelle gespeichert ist.Anmerkung
Wenn Sie diese Werte in den Feldern Katalog und Datenbank nicht sehen, stellen Sie sicher, dass Sie Ihre Tabellen-Buckets in die AWS-Analytikservices in dieser Region integriert haben. Weitere Informationen finden Sie unter Integrieren von Amazon S3 Tables mit AWS-Analytikservices.
-
Wählen Sie dann Run (Ausführen) aus, um die Abfrage auszuführen.
Anmerkung
-
Wenn Sie folgende Fehlermeldung erhalten:
„Unzureichende Berechtigungen zum Ausführen der Abfrage. Prinzipal hat keine Rechte für die angegebene Ressource.“wenn Sie versuchen, eine Abfrage in Athena auszuführen, müssen Ihnen die erforderlichen Lake-Formation-Berechtigungen für die Tabelle erteilt werden. Weitere Informationen finden Sie unter Erteilen der Lake Formation-Berechtigung für eine Tabelle oder Datenbank. -
Wenn Sie beim Versuch, die Abfrage auszuführen, die Fehlermeldung
„Iceberg kann nicht auf die angeforderte Ressource zugreifen“erhalten, rufen Sie die AWS Lake Formation-Konsole auf und vergewissern Sie sich, dass Sie sich selbst Berechtigungen für den Tabellen-Bucket-Katalog und die Datenbank (Namespace) erteilt haben, die Sie erstellt haben. Geben Sie bei der Gewährung dieser Berechtigungen keine Tabelle an. Weitere Informationen finden Sie unter Erteilen der Lake Formation-Berechtigung für eine Tabelle oder Datenbank. -
Wenn Sie beim Ausführen einer
SELECT-Abfrage in Athena die folgende Fehlermeldung erhalten, wird diese Meldung dadurch verursacht, dass Ihr Tabellenname oder Ihre Spaltennamen in Ihrer Tabellendefinition Großbuchstaben enthalten:„GENERIC_INTERNAL_ERROR: Get table request failed: com.amazonaws.services.glue.model.ValidationException: Unsupported Federation Resource - Invalid table or column names.“Stellen Sie sicher, dass Ihre Tabellen- und Spaltennamen alle in Kleinbuchstaben geschrieben sind.
-