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.
Synchronisieren Sie Delta Lake-Metadaten
Athena synchronisiert Tabellenmetadaten, einschließlich Schema, Partitionsspalten und Tabelleneigenschaften, zu AWS Glue wenn Sie Athena verwenden, um Ihre Delta Lake-Tabelle zu erstellen. Im Laufe der Zeit können diese Metadaten deren Synchronisierung mit den zugrunde liegenden Tabellenmetadaten im Transaktionsprotokoll verlieren. Um Ihre Tabelle auf dem neuesten Stand zu halten, können Sie eine der folgenden Optionen auswählen:
-
Verwenden Sie die AWS Glue Crawler für Delta Lake-Tische. Weitere Informationen finden Sie unter Einführung der nativen Unterstützung für Delta Lake-Tabellen mit AWS Glue Crawler
im AWS Big-Data-Blog und Planung eines AWS Glue Crawler im AWS Glue Entwicklerhandbuch. -
Die Tabelle fallen lassen und in Athena neu erstellen.
-
Benutze das SDKCLI, oder AWS Glue Konsole, um das Schema manuell zu aktualisieren AWS Glue.
Beachten Sie, dass für die folgenden Funktionen AWS Glue Schema, um immer dasselbe Schema wie das Transaktionslog zu haben:
-
Lake Formation
-
Ansichten
-
Zeilen- und Spaltenfilter
Wenn Ihr Workflow keine dieser Funktionen benötigt und Sie es vorziehen, diese Kompatibilität nicht aufrechtzuerhalten, können Sie CREATE TABLE
DDL in Athena den Amazon S3-Pfad verwenden und dann den Amazon S3 S3-Pfad als SerDe Parameter hinzufügen in AWS Glue.
Sie können das folgende Verfahren verwenden, um eine Delta Lake-Tabelle mit dem Athena zu erstellen und AWS Glue Konsolen.
Um eine Delta Lake-Tabelle mit Athena zu erstellen und AWS Glue Konsolen
Öffnen Sie die Athena-Konsole unter https://console.aws.amazon.com/athena/
. -
Gehen Sie im Athena-Abfrage-Editor wie folgt vor, DDL um Ihre Delta Lake-Tabelle zu erstellen. Beachten Sie, dass bei Verwendung dieser Methode der Wert für
TBLPROPERTIES
'spark.sql.sources.provider' = 'delta'
sein muss und nicht'table_type' = 'delta'
.Beachten Sie, dass dasselbe Schema (mit einer einzigen Spalte namens
col
vom Typarray<string>
) eingefügt wird, wenn Sie Apache Spark (Athena für Apache Spark) oder die meisten anderen Engines verwenden, um Ihre Tabelle zu erstellen.CREATE EXTERNAL TABLE [db_name.]table_name(col array<string>) LOCATION 's3://amzn-s3-demo-bucket/
your-folder
/' TBLPROPERTIES ('spark.sql.sources.provider' = 'delta') Öffnen Sie AWS Glue Konsole bei. https://console.aws.amazon.com/glue/
-
Wählen Sie im Navigationsbereich unter Data Catalog die Option Tabellen.
-
Wählen Sie in der Tabellenliste den Link für Ihre Tabelle aus.
-
Wählen Sie auf der Seite für die Tabelle Aktionen und Tabelle bearbeiten aus.
-
Fügen Sie im Abschnitt Serde-Parameter den Schlüssel
path
mit dem Werts3://amzn-s3-demo-bucket/
hinzu.your-folder
/ -
Wählen Sie Save (Speichern) aus.
Um eine Delta Lake-Tabelle zu erstellen, verwenden Sie AWS CLI, geben Sie einen Befehl wie den folgenden ein.
aws glue create-table --database-name dbname \ --table-input '{"Name" : "tablename", "StorageDescriptor":{ "Columns" : [ { "Name": "col", "Type": "array<string>" } ], "Location" : "s3://
amzn-s3-demo-bucket
/<prefix>
/", "SerdeInfo" : { "Parameters" : { "serialization.format" : "1", "path" : "s3://amzn-s3-demo-bucket
/<prefix>
/" } } }, "PartitionKeys": [], "TableType": "EXTERNAL_TABLE", "Parameters": { "EXTERNAL": "TRUE", "spark.sql.sources.provider": "delta" } }'