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.
Registrieren Sie S3-Tabellen-Bucket-Kataloge und fragen Sie Tabellen von Athena ab
Amazon S3-Tabellen-Buckets sind ein Bucket-Typ in Amazon S3, der speziell zum Speichern von Tabellendaten in Apache Iceberg-Tabellen entwickelt wurde. Tabellen-Buckets automatisieren Tabellenverwaltungsaufgaben wie Komprimierung, Snapshot-Verwaltung und Garbage-Collection, um die Abfrageleistung kontinuierlich zu optimieren und die Kosten zu minimieren. Ganz gleich, ob Sie gerade erst anfangen oder Tausende von Tabellen in Ihrer Iceberg-Umgebung haben, Tabellen-Buckets vereinfachen Data Lakes in jeder Größenordnung. Weitere Informationen finden Sie unter Tabellen-Buckets.
Überlegungen und Einschränkungen
-
Alle DDL-Operationen, die für Iceberg-Tabellen unterstützt werden, werden für S3-Tabellen unterstützt, mit den folgenden Ausnahmen:
-
ALTER TABLE RENAME
CREATE VIEW
, undALTER DATABASE
werden nicht unterstützt. -
OPTIMIZE
undVACUUM
— Sie können die Komprimierung und die Snapshot-Verwaltung in S3 verwalten. Weitere Informationen finden Sie in der Dokumentation zur Wartung von S3-Tabellen.
-
-
DDL-Abfragen auf S3-Tabellen, die als Athena-Datenquellen registriert sind, werden nicht unterstützt.
-
Die Wiederverwendung von Abfrageergebnissen wird nicht unterstützt.
-
In Arbeitsgruppen mit aktivierter SSE-KMS- und CSE-KMS-Verschlüsselung können Sie keine Schreibvorgänge wie
INSERT
,, oder fürUPDATE
S3-TabellenDELETE
ausführen.MERGE
-
In Arbeitsgruppen, in denen die Option S3 Requester Pays aktiviert ist, können Sie keine DML-Operationen für S3-Tabellen ausführen.
S3-Tabellen von Athena abfragen
Führen Sie diese erforderlichen Schritte aus, bevor Sie S3-Tabellen in Athena abfragen
Erstellen Sie einen S3-Tabellen-Bucket. Weitere Informationen finden Sie unter Erstellen eines Tabellen-Buckets im Amazon Simple Storage Service-Benutzerhandbuch.
-
Stellen Sie sicher, dass die Integration Ihrer Tabellen-Buckets mit AWS Glue Data Catalog und erfolgreich AWS Lake Formation ist, indem Sie die Voraussetzungen für die Integration und Integration von Table-Buckets mit AWS Analyseservices im Amazon Simple Storage Service-Benutzerhandbuch befolgen.
Anmerkung
Wenn Sie die Integration beim Erstellen eines S3-Tabellen-Buckets über die S3-Konsole in Schritt 1 aktiviert haben, können Sie diesen Schritt überspringen.
Erteilen Sie Lake Formation Formation-Berechtigungen für den Principal, den Sie zum Ausführen von Abfragen mit Athena verwenden, entweder über die Lake Formation Formation-Konsole oder AWS CLI.
Senden Sie Abfragen für S3-Tabellen
Reichen Sie eine
CREATE DATABASE
Anfrage von Athena mit dem oben gewährten Benutzer/der oben gewährten Rolle ein. In diesem Beispiels3tablescatalog
wird der übergeordnete Glue-Datenkatalog aus der Integration erstellt unds3tablescatalog/
ist der untergeordnete Glue-Datenkatalog, der für jeden S3-Tabellen-Bucket erstellt wurde. Es gibt zwei Möglichkeiten, Abfragen durchzuführen.amzn-s3-demo-bucket
-
Verwenden Sie die Datenbank, die Sie im vorherigen Schritt erstellt haben, um eine
CREATE TABLE
Tabelle zu erstellen. Das folgende Beispiel erstellt eine Tabelle in der
Datenbank, die Sie zuvor imtest_namespace
s3tablescatalog/
Glue-Katalog erstellt haben.amzn-s3-demo-bucket
-
Fügen Sie Daten in die Tabelle ein, die Sie im vorherigen Schritt erstellt haben.
-
Nachdem Sie Daten in die Tabelle eingefügt haben, können Sie sie abfragen.
Erstellen Sie S3-Tabellen in Athena
Athena unterstützt das Erstellen von Tabellen in vorhandenen S3-Tabellen-Namespaces oder in Athena erstellten Namespaces mit Anweisungen. CREATE DATABASE
Um eine S3-Tabelle aus Athena zu erstellen, ist die Syntax dieselbe wie beim Erstellen einer regulären Iceberg-Tabelle, außer dass Sie die nicht angebenLOCATION
, wie im folgenden Beispiel gezeigt.
CREATE TABLE [db_name.]table_name (col_name data_type [COMMENT col_comment] [, ...] ) [PARTITIONED BY (col_name | transform, ... )] [TBLPROPERTIES ([, property_name=property_value] )]
Sie können S3-Tabellen auch mit CREATE TABLE AS SELECT (CTAS) -Anweisungen erstellen. Weitere Informationen finden Sie unter CTAS für S3-Tabellen.
Registrieren Sie S3-Tabellen-Bucket-Kataloge als Athena-Datenquellen
Gehen Sie wie folgt vor, um S3-Table-Bucket-Kataloge bei der Athena-Konsole zu registrieren.
-
Öffnen Sie die Athena-Konsole unter https://console.aws.amazon.com/athena/
. -
Wählen Sie im Navigationsbereich Datenquellen und Kataloge aus.
-
Wählen Sie auf der Seite Datenquellen und Kataloge die Option Datenquelle erstellen aus.
-
Wählen Sie für Wählen Sie eine Datenquelle die Option Amazon S3 - AWS Glue Data Catalog.
-
Wählen Sie im AWS Glue Data CatalogAbschnitt Datenquellenkonto die Option AWS Glue Data Catalog In diesem Konto aus.
-
Wählen Sie für Tabelle erstellen oder Katalog registrieren die Option Neuen AWS Glue Katalog registrieren aus.
-
Geben Sie im Abschnitt Datenquellendetails für Datenquellenname den Namen ein, mit dem Sie die Datenquelle in Ihren SQL-Abfragen angeben möchten, oder verwenden Sie den generierten Standardnamen.
-
Wählen Sie für Katalog die Option Durchsuchen aus, um nach einer Liste von AWS Glue Katalogen im selben Konto zu suchen. Wenn Sie keine vorhandenen Kataloge sehen, erstellen Sie einen in AWS Glue der Konsole.
-
Wählen Sie im Dialogfeld AWS Glue Kataloge durchsuchen den Katalog aus, den Sie verwenden möchten, und klicken Sie dann auf Auswählen.
-
(Optional) Geben Sie unter Tags alle key/value Paare ein, die Sie der Datenquelle zuordnen möchten.
-
Wählen Sie Weiter aus.
-
Vergewissern Sie sich auf der Seite Überprüfen und erstellen, dass die von Ihnen eingegebenen Informationen korrekt sind, und wählen Sie dann Datenquelle erstellen aus.
CTAS für S3-Tabellen
Amazon Athena unterstützt jetzt CREATE TABLE AS SELECT (CTAS) -Operationen für S3-Tabellen. Mit dieser Funktion können Sie neue S3-Tabellen auf der Grundlage der Ergebnisse einer SELECT-Abfrage erstellen.
Bei der Erstellung einer CTAS-Abfrage für eine S3-Tabelle gibt es einige wichtige Unterschiede zu Standard-Athena-Tabellen:
-
Sie müssen die Eigenschaft location weglassen, da S3-Tabellen ihre eigenen Speicherorte automatisch verwalten.
-
Die
table_type
Eigenschaft ist standardmäßig aufICEBERG
voreingestellt, sodass Sie sie in Ihrer Abfrage nicht explizit angeben müssen. -
Wenn Sie kein Format angeben, verwendet
PARQUET
das System automatisch das Standardformat für Ihre Daten. -
Alle anderen Eigenschaften folgen derselben Syntax wie normale Iceberg-Tabellen.
Bevor Sie S3-Tabellen mit CTAS erstellen, stellen Sie sicher, dass Sie die erforderlichen Berechtigungen in konfiguriert haben. AWS Lake Formation Insbesondere benötigen Sie Berechtigungen, um Tabellen im S3-Tables-Katalog zu erstellen. Ohne diese Berechtigungen schlagen Ihre CTAS-Operationen fehl.
Anmerkung
Wenn Ihre CTAS-Abfrage fehlschlägt, müssen Sie möglicherweise Ihre Tabelle mithilfe der S3 Tables-API löschen, bevor Sie versuchen, Ihre Abfrage erneut auszuführen. Sie können die DROP TABLE
Athena-Anweisungen nicht verwenden, um die Tabelle zu entfernen, die teilweise durch die Abfrage erstellt wurde.
Beispiel
CREATE TABLE "s3tablescatalog/
amzn-s3-demo-bucket
"."namespace
"."s3-table-name
" WITH ( format = 'PARQUET' ) AS SELECT * FROMsource_table
;