Tutorial: Erste Schritte mit S3 Tables - Amazon Simple Storage Service

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 Allzweck-Buckets in Tabellen-Buckets migrieren, bietet Ihnen die AWS -Lösungsportfolio 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 Tables in der AWS Lösungsportfolio.

Schritt 1: Erstellen Sie einen Tabellen-Bucket und integrieren Sie ihn in Analysedienste AWS

In diesem Schritt verwenden Sie die Amazon-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 Integration von Amazon S3 S3-Tabellen mit AWS Analysediensten.

  1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie in der Navigationsleiste oben auf der Seite den Namen der aktuell angezeigten Datei aus AWS-Region. Wählen Sie anschließend die Region aus, in der Sie den Tabellen-Bucket erstellen möchten.

  3. Wählen Sie im linken Navigationsbereich Tabellen-Buckets aus.

  4. Wählen Sie Tabellen-Bucket erstellen aus.

  5. Geben Sie unter Allgemeine Konfiguration einen Namen für Ihren Tabellen-Bucket ein.

    Anforderungen an den Namen des Tabellen-Buckets:

    • Seien Sie einzigartig für Sie AWS-Konto in der aktuellen Region.

    • 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.

    Der Name eines einmal erstellten Tabellen-Buckets kann nicht nachträglich geändert werden. Derjenige AWS-Konto , der den Tabellen-Bucket erstellt, besitzt ihn. Weitere Informationen zur Benennung von Tabellen-Buckets finden Sie unter Regeln für die Benennung von Tabellen-Buckets.

  6. 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 Integration von Amazon S3 S3-Tabellen mit AWS Analysediensten.

  7. Wählen Sie Create Bucket (Bucket erstellen) aus.

Schritt 2: Erstellen eines Tabellen-Namespace und einer Tabelle

Für diesen Schritt erstellen Sie einen Namespace in Ihrem Tabellen-Bucket und erstellen anschließend eine neue Tabelle unter diesem Namespace. Sie können einen Tabellen-Namespace und eine Tabelle entweder über die Konsole oder die AWS CLI erstellen.

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 nicht unterstützt AWS Glue Data Catalog. 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 erstellt mithilfe der Amazon-S3-Konsole einen Namespace und eine Tabelle mit Amazon Athena.

So erstellen Sie einen Tabellen-Namespace und eine Tabelle
  1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie im linken Navigationsbereich Tabellen-Buckets aus.

  3. Wählen Sie auf der Seite Tabellen-Buckets den Tabellen-Bucket aus, in dem Sie eine Tabelle erstellen wollen.

  4. Wählen Sie auf der Detailseite des Tabellen-Bucket die Option Tabelle mit Athena erstellen.

  5. 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.

  6. Wählen Sie Create namespace (Namespace erstellen) aus.

  7. Wählen Sie Tabelle mit Athena erstellen.

  8. 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.

  9. 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-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 user input placeholder Werte durch Ihre eigenen.

Voraussetzungen
  1. 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 \ --namespace my_namespace
    1. Bestätigen Sie, 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
  2. 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: Lake Formation Berechtigungen für Ihre Tabelle

In diesem Schritt gewähren Sie anderen IAM-Prinzipalen Lake Formation-Berechtigungen für Ihre neue Tabelle. Diese Berechtigungen ermöglichen es anderen Prinzipalen als Ihnen, mithilfe von Athena und anderen AWS -Analytikservices auf Tabellen-Bucket-Ressourcen zuzugreifen. Weitere Informationen finden Sie unter Erteilen der Lake Formation-Berechtigung für eine Tabelle oder Datenbank. Wenn Sie der einzige Benutzer sind, der auf Ihre Tabellen zugreift, können Sie diesen Schritt überspringen.

  1. Ö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 Data-Lake-Administrator erstellen.

  2. Wählen Sie im Navigationsbereich Data permissions (Datenberechtigungen) und dann Grant (Erteilen) aus.

  3. Wählen Sie auf der Seite Grant Permissions unter Prinzipale die Option IAM-Benutzer und -Rollen aus und wählen Sie dann den IAM-Benutzer oder die IAM-Rolle aus, dem/der Sie die Ausführung von Abfragen in Ihrer Tabelle erlauben möchten.

  4. Wählen Sie unter LF-Tags or catalog resources (LF-Tags oder Katalogressourcen) die Option Named Data Catalog resources (Benannte Datenkatalogressourcen).

  5. 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.

  6. (Optional) Wenn Sie den Unterkatalog für Ihren Tabellen-Bucket ausgewählt haben, führen Sie eine oder beide der folgenden Aktionen aus:

    • Wählen Sie für Datenbanken den Bucket-Tabellennamespace, 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.

  7. 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-Berechtigungen finden Sie unter Verwalten von Lake Formation-Berechtigungen im AWS Lake Formation -Entwicklerhandbuch.

    Führen Sie eine der folgenden Aktionen aus:

    • Wählen Sie für Katalogberechtigungen Super aus, um dem anderen Prinzipal alle Berechtigungen für Ihren Katalog zu gewähren, oder wählen Sie detailliertere Berechtigungen wie Beschreiben aus.

    • 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 Beschreiben.

    • 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 Zuweisungsempfängers, steht die gemeinsam genutzte Ressource dem Empfänger sofort zur Verfügung. Wenn sich das Empfängerkonto nicht in derselben Organisation befindet, AWS RAM sendet es eine Einladung an das Empfängerkonto, die Ressourcenzuweisung 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.

  8. Wählen Sie Grant (Erteilen).

Schritt 4: Abfragen von Daten mit SQL in Athena

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 Tables.

Sie können auf die Athena-Abfrage entweder über die Amazon-S3-Konsole oder über die Amazon Athena-Konsole zugreifen.

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.

So fragen Sie eine Tabelle ab
  1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie im linken Navigationsbereich Tabellen-Buckets aus.

  3. Wählen Sie auf der Seite Tabellen-Buckets den Tabellen-Bucket aus, der die Tabelle enthält, die Sie abfragen möchten.

  4. Wählen Sie auf der Seite Tabellen-Bucket-Details das Optionsfeld neben dem Namen der Tabelle aus, die Sie abfragen möchten.

  5. Wählen Sie Tabelle mit Athena abfragen.

  6. 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.

  7. Wählen Sie dann Run (Ausführen) aus, um die Abfrage auszuführen.

So fragen Sie eine Tabelle ab
  1. Öffnen Sie die Athena-Konsole unter https://console.aws.amazon.com/athena/.

  2. Fragen Sie Ihre Tabelle ab. Nachfolgend finden Sie eine Musterabfrage, die Sie ändern können. Ersetzen Sie user input placeholders durch Ihre eigenen Informationen.

    SELECT * FROM "s3tablescatalog/amzn-s3-demo-table-bucket"."my_namespace"."my_table" LIMIT 10
  3. Wählen Sie dann Run (Ausführen) aus, um die Abfrage auszuführen.