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.
Tutorial: Erste Schritte mit S3 Tables
In diesem Tutorial erstellen Sie einen Tabellen-Bucket und integrieren Tabellen-Buckets in Ihrer Region mit AWS Analysediensten. Als Nächstes verwenden Sie den, AWS CLI um Ihren ersten Namespace und Ihre erste Tabelle in Ihrem Tabellen-Bucket zu erstellen. Anschließend erteilen Sie zuvor Berechtigungen AWS Lake Formation für Ihre Tabelle, sodass Sie beginnen können, Ihre Tabelle mit Athena abzufragen.
Tipp
Wenn Sie tabellarische Daten von Buckets für allgemeine Zwecke in Tabellen-Buckets migrieren, bietet Ihnen die AWS Solutions Library eine Anleitung, die Sie dabei unterstützt. Diese Lösung automatisiert das Verschieben Apache Iceberg von Apache Hive Tabellen, die in Allzweck-Buckets registriert AWS Glue Data Catalog und dort gespeichert sind, in Tabellen-Buckets mithilfe AWS Step Functions von Amazon EMR mit. Apache Spark Weitere Informationen finden Sie unter Anleitung zur Migration von Tabellendaten von Amazon S3 zu S3-Tabellen
Themen
Schritt 1: Erstellen Sie einen Tabellen-Bucket und integrieren Sie ihn in Analysedienste AWS
In diesem Schritt verwenden Sie die Amazon S3 S3-Konsole, um Ihren ersten Tabellen-Bucket zu erstellen. Weitere Möglichkeiten zum Erstellen eines Tabellen-Buckets finden Sie unter Tabellen-Bucket erstellen.
Anmerkung
Standardmäßig integriert die Amazon S3 S3-Konsole Ihre Tabellen-Buckets automatisch in Amazon SageMaker Lakehouse, sodass AWS Analysedienste Ihre S3-Tables-Daten automatisch erkennen und darauf zugreifen können. Wenn Sie Ihren ersten Tabellen-Bucket programmgesteuert mithilfe der AWS Command Line Interface (AWS CLI), oder REST-API erstellen AWS SDKs, müssen Sie die Integration der AWS Analysedienste manuell abschließen. Weitere Informationen finden Sie unter Verwenden von Amazon S3 S3-Tabellen mit AWS Analysediensten.
Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/
. Wählen Sie in der Navigationsleiste oben auf der Seite den Namen der aktuell angezeigten Datei aus AWS-Region. Wählen Sie als Nächstes die Region aus, in der Sie den Tabellen-Bucket erstellen möchten.
Wählen Sie im linken Navigationsbereich Tabellen-Buckets aus.
Wählen Sie Tabellen-Bucket erstellen aus.
Geben Sie unter Allgemeine Konfiguration einen Namen für Ihren Tabellen-Bucket ein.
Anforderungen an den Namen des Tabellen-Buckets:
Seien Sie innerhalb Ihrer aktuellen AWS-Konto Region einzigartig.
Muss zwischen 3 und 63 Zeichen lang sein.
Besteht nur aus Kleinbuchstaben, Zahlen und Bindestrichen ().
-
Muss mit einer Zahl oder einem Buchstaben beginnen und enden.
Nachdem Sie den Tabellen-Bucket erstellt haben, können Sie seinen Namen nicht mehr ändern. AWS-Konto Derjenige, der den Tabellen-Bucket erstellt, besitzt ihn. Weitere Hinweise zur Benennung von Tabellen-Buckets finden Sie unterRegeln für die Benennung von Tabellen-Buckets.
-
Vergewissern Sie sich, dass im Abschnitt Integration mit AWS Analysediensten das Kontrollkästchen Integration aktivieren aktiviert ist.
Wenn Integration aktivieren ausgewählt ist, wenn Sie Ihren ersten Tabellen-Bucket mithilfe der Konsole erstellen, versucht Amazon S3, Ihren Tabellen-Bucket mit AWS Analysediensten zu integrieren. Diese Integration ermöglicht es Ihnen, mithilfe von AWS Analysediensten auf alle Tabellen in der aktuellen Region zuzugreifen. Weitere Informationen finden Sie unter Verwenden von Amazon S3 S3-Tabellen mit AWS Analysediensten.
Wählen Sie Create Bucket (Bucket erstellen) aus.
Schritt 2: Erstellen Sie einen Tabellennamespace und eine Tabelle
In diesem Schritt erstellen Sie einen Namespace in Ihrem Tabellen-Bucket und dann eine neue Tabelle unter diesem Namespace. Sie können einen Tabellennamespace und eine Tabelle erstellen, indem Sie entweder die Konsole oder die verwenden. AWS CLI
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 Analysedienste wie Amazon Athena nicht sichtbar, auch wenn Ihre Tabellen-Buckets in AWS Analysedienste 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: Nicht unterstützte Verbundressource
— Ungültige Tabellen- oder Spaltennamen.“
Das folgende Verfahren verwendet die Amazon S3 S3-Konsole, um einen Namespace und eine Tabelle mit Amazon Athena zu erstellen.
Um einen Tabellennamespace und eine Tabelle zu erstellen
Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon S3 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 Tabellen-Bucket aus, in dem Sie eine Tabelle erstellen möchten.
-
Wählen Sie auf der Seite mit den Tabellen-Bucket-Details die Option Tabelle mit Athena erstellen aus.
-
Wählen Sie im Dialogfeld Tabelle mit Athena erstellen die Option Namespace erstellen aus, und geben Sie dann einen Namen in das Feld Namespace-Name ein. Namespace-Namen müssen 1 bis 255 Zeichen lang sein und innerhalb des Tabellen-Buckets eindeutig sein. Gültige Zeichen sind a—z, 0—9 und Unterstriche ().
_
Unterstriche sind am Anfang von Namespace-Namen nicht zulässig. -
Wählen Sie Create namespace (Namespace erstellen) aus.
-
Wählen Sie Tabelle mit Athena erstellen.
-
Die Amazon Athena Athena-Konsole wird geöffnet und der Athena-Abfrage-Editor wird angezeigt. Der Abfrage-Editor enthält eine Beispielabfrage, mit der Sie eine Tabelle erstellen können. Ändern Sie die Abfrage, um den Tabellennamen und die Spalten anzugeben, die Ihre Tabelle haben soll.
-
Wenn Sie mit dem Ändern der Abfrage fertig sind, wählen Sie Ausführen, um Ihre Tabelle zu erstellen.
Wenn Ihre Tabellenerstellung erfolgreich war, erscheint der Name Ihrer neuen Tabelle in der Tabellenliste in Athena. Wenn Sie zurück zur Amazon S3 S3-Konsole navigieren, erscheint Ihre neue Tabelle in der Tabellenliste auf der Detailseite für Ihren Tabellen-Bucket, nachdem Sie die Liste aktualisiert haben.
Wenn Sie die folgenden AWS CLI Beispielbefehle verwenden möchten, um einen Namespace in Ihrem Tabellen-Bucket zu erstellen und dann eine neue Tabelle mit einem Schema unter diesem Namespace zu erstellen, ersetzen Sie die
Werte durch Ihre eigenen.user input
placeholder
Voraussetzungen
-
Hängen Sie die
AmazonS3TablesFullAccess
Richtlinie an Ihre IAM-Identität an. -
Installieren Sie AWS CLI Version 2.23.10 oder höher. Weitere Informationen finden Sie unter Installieren oder Aktualisieren auf die neueste Version von AWS CLI im AWS Command Line Interface -Benutzerhandbuch.
Erstellen Sie einen neuen Namespace in Ihrem Tabellen-Bucket, indem Sie den folgenden Befehl ausführen:
aws s3tables create-namespace \ --table-bucket-arn arn:aws:s3tables:
us-east-1
:111122223333
:bucket/amzn-s3-demo-table-bucket
\ --namespacemy_namespace
Vergewissern Sie sich, dass Ihr Namespace erfolgreich erstellt wurde, indem Sie den folgenden Befehl ausführen:
aws s3tables list-namespaces \ --table-bucket-arn arn:aws:s3tables:
us-east-1
:111122223333
:bucket/amzn-s3-demo-table-bucket
Erstellen Sie eine neue Tabelle mit einem Tabellenschema, indem Sie den folgenden Befehl ausführen:
aws s3tables create-table --cli-input-json file://
mytabledefinition.json
Verwenden Sie für die
mytabledefinition.json
Datei die folgende Beispieltabellendefinition:{ "tableBucketARN": "arn:aws:s3tables:
us-east-1
:111122223333
:bucket/amzn-s3-demo-table-bucket
", "namespace": "my_namespace
", "name": "my_table
", "format": "ICEBERG", "metadata": { "iceberg": { "schema": { "fields": [{"name": "id", "type": "int","required": true}, {"name": "name", "type": "string"}, {"name": "value", "type": "int"}
] } } } }
(Optional) Schritt 3: Erteilen Sie Lake Formation Formation-Berechtigungen für Ihre Tabelle
In diesem Schritt gewähren Sie anderen IAM-Prinzipalen Lake Formation Formation-Berechtigungen für Ihre neue Tabelle. Diese Berechtigungen ermöglichen es anderen Prinzipalen als Ihnen, mithilfe von Athena und anderen AWS Analysediensten auf Tabellen-Bucket-Ressourcen zuzugreifen. Weitere Informationen finden Sie unter Erteilen von Berechtigungen für eine Tabelle oder Datenbank. Wenn Sie der einzige Benutzer sind, der auf Ihre Tabellen zugreift, können Sie diesen Schritt überspringen.
-
Öffnen Sie die AWS Lake Formation Konsole unter https://console.aws.amazon.com/lakeformation/
und melden Sie sich als Data Lake-Administrator an. Weitere Informationen zum Erstellen eines Data Lake-Administrators finden Sie unter Erstellen eines Data Lake-Administrators. Wählen Sie im Navigationsbereich Data permissions (Datenberechtigungen) und dann Grant (Erteilen) aus.
Wählen Sie auf der Seite Grant Permissions unter Principals die Option IAM-Benutzer und -Rollen und anschließend den IAM-Benutzer oder die IAM-Rolle aus, dem/der Sie die Ausführung von Abfragen in Ihrer Tabelle erlauben möchten.
Wählen Sie unter LF-Tags or catalog resources (LF-Tags oder Katalogressourcen) die Option Named Data Catalog resources (Benannte Datenkatalogressourcen).
-
Führen Sie einen der folgenden Schritte aus, je nachdem, ob Sie Zugriff auf alle Tabellen in Ihrem Konto gewähren möchten oder ob Sie nur Zugriff auf die Ressourcen innerhalb des Tabellen-Buckets gewähren möchten, den Sie erstellt haben:
-
Wählen Sie für Kataloge den Katalog auf Kontoebene aus, den Sie bei der Integration Ihres Table-Buckets erstellt haben. Beispiel,
.111122223333
:s3tablescatalog -
Wählen Sie für Kataloge den Unterkatalog für Ihren Tabellen-Bucket aus. Beispiel,
.111122223333
:s3tablescatalog/amzn-s3-demo-table-bucket
-
-
(Optional) Wenn Sie den Unterkatalog für Ihren Tabellen-Bucket ausgewählt haben, führen Sie einen oder beide der folgenden Schritte aus:
Wählen Sie für Datenbanken den Tabellen-Bucket-Namespace aus, den Sie erstellt haben.
Wählen Sie für Tabellen die Tabelle aus, die Sie in Ihrem Tabellen-Bucket erstellt haben, oder wählen Sie Alle Tabellen aus.
-
Je nachdem, ob Sie einen Katalog oder Unterkatalog ausgewählt haben und je nachdem, ob Sie dann eine Datenbank oder eine Tabelle ausgewählt haben, können Sie Berechtigungen auf Katalog-, Datenbank- oder Tabellenebene festlegen. Weitere Informationen zu Lake Formation Formation-Berechtigungen finden Sie unter Managing Lake Formation Formation-Berechtigungen im AWS Lake Formation Developer Guide.
Führen Sie eine der folgenden Aktionen aus:
-
Wählen Sie für Katalogberechtigungen Super aus, um dem anderen Hauptbenutzer alle Berechtigungen für Ihren Katalog zu gewähren, oder wählen Sie detailliertere Berechtigungen wie Describe.
-
Bei Datenbankberechtigungen können Sie Super nicht wählen, um dem anderen Prinzipal alle Berechtigungen für Ihre Datenbank zu gewähren. Wählen Sie stattdessen detailliertere Berechtigungen wie Describe.
-
Wählen Sie für Tabellenberechtigungen Super aus, um dem anderen Prinzipal alle Berechtigungen für Ihre Tabelle zu gewähren, oder wählen Sie detailliertere Berechtigungen wie Auswählen oder Beschreiben.
Anmerkung
Wenn Sie Lake Formation-Berechtigungen für eine Datenkatalogressource einem externen Konto oder direkt einem IAM-Prinzipal in einem anderen Konto gewähren, verwendet Lake Formation den Dienst AWS Resource Access Manager (AWS RAM), um die Ressource gemeinsam zu nutzen. Befindet sich das Konto des Empfängers in derselben Organisation wie das Konto des Zuschussempfängers, steht die gemeinsam genutzte Ressource dem Empfänger sofort zur Verfügung. Wenn sich das Konto des Zuschussempfängers nicht in derselben Organisation befindet, AWS RAM sendet es eine Einladung an das Konto des Empfängers, den Ressourcenzuschuss anzunehmen oder abzulehnen. Um die gemeinsam genutzte Ressource verfügbar zu machen, muss der Data Lake-Administrator des Empfängerkontos dann die AWS RAM Konsole verwenden oder die AWS CLI Einladung annehmen. Weitere Informationen zur kontenübergreifenden Datenfreigabe finden Sie unter Kontenübergreifender Datenaustausch in Lake Formation im AWS Lake Formation Entwicklerhandbuch.
-
-
Wählen Sie Grant (Erteilen).
Schritt 4: Daten mit SQL in Athena abfragen
Sie können Ihre Tabelle mit SQL in Athena abfragen. Athena unterstützt Abfragen in Data Definition Language (DDL), Data Manipulation Language (DML) und Data Query Language (DQL) für S3-Tabellen.
Sie können auf die Athena-Abfrage entweder von der Amazon S3 S3-Konsole oder über die Amazon Athena Athena-Konsole zugreifen.
Das folgende Verfahren verwendet die Amazon S3 S3-Konsole, um auf den Athena-Abfrage-Editor zuzugreifen, sodass Sie eine Tabelle mit Amazon Athena abfragen können.
Um eine Tabelle abzufragen
Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon S3 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 Tabellen-Bucket aus, der die Tabelle enthält, die Sie abfragen möchten.
-
Wählen Sie auf der Seite mit den Tabellen-Bucket-Details das Optionsfeld neben dem Namen der Tabelle aus, die Sie abfragen möchten.
-
Wählen Sie Tabelle mit Athena abfragen.
-
Die Amazon Athena Athena-Konsole wird geöffnet und der Athena-Abfrage-Editor wird mit einer für Sie geladenen
SELECT
Beispielabfrage angezeigt. Ändern Sie diese Abfrage nach Bedarf für Ihren Anwendungsfall. -
Wählen Sie dann Run (Ausführen) aus, um die Abfrage auszuführen.
Um eine Tabelle abzufragen
Öffnen Sie die Athena-Konsole unter https://console.aws.amazon.com/athena/
. -
Fragen Sie Ihre Tabelle ab. Im Folgenden finden Sie eine Beispielabfrage, die Sie ändern können. Ersetzen Sie
durch Ihre eigenen Informationen.user input placeholders
SELECT * FROM "s3tablescatalog/
amzn-s3-demo-table-bucket
"."my_namespace
"."my_table
" LIMIT 10 -
Wählen Sie dann Run (Ausführen) aus, um die Abfrage auszuführen.