Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Sincronizza i metadati di Delta Lake
Athena sincronizza i metadati delle tabelle, inclusi lo schema, le colonne delle partizioni e le proprietà della tabella, con AWS Glue se usi Athena per creare il tuo tavolo Delta Lake. Con il passare del tempo, questi metadati possono perdere la sincronizzazione con i metadati della tabella sottostante nel log delle transazioni. Per mantenere aggiornata la tua tabella, puoi scegliere una delle seguenti opzioni:
-
Usa il AWS Glue crawler per tavoli Delta Lake. Per ulteriori informazioni, consulta Introduzione al supporto tabellare nativo di Delta Lake con AWS Glue crawler in
AWS Big Data Blog e Scheduling an AWS Glue crawler in AWS Glue Guida per gli sviluppatori. -
Elimina e ricrea la tabella in Athena.
-
Usa ilSDK, o CLI AWS Glue console per aggiornare manualmente lo schema in AWS Glue.
Tieni presente che le seguenti funzionalità richiedono AWS Glue schema per avere sempre lo stesso schema del log delle transazioni:
-
Lake Formation
-
Visualizzazioni
-
Filtri di righe e colonne
Se il tuo flusso di lavoro non richiede nessuna di queste funzionalità e preferisci non mantenere questa compatibilità, puoi utilizzare CREATE TABLE
DDL in Athena e quindi aggiungere il percorso Amazon S3 come parametro in SerDe AWS Glue.
È possibile utilizzare la procedura seguente per creare una tabella Delta Lake con Athena e AWS Glue console.
Per creare una tabella Delta Lake utilizzando Athena e AWS Glue console
Apri la console Athena all'indirizzo https://console.aws.amazon.com/athena/
. -
Nell'editor di query Athena, usa quanto segue DDL per creare la tua tabella Delta Lake. Tiene presente che quando utilizzi questo metodo il valore per
TBLPROPERTIES
deve essere'spark.sql.sources.provider' = 'delta'
e non'table_type' = 'delta'
.Nota, inoltre, che questo stesso schema (con una sola colonna denominata
col
di tipoarray<string>
) viene inserito quando utilizzi Apache Spark (Athena per Apache Spark) o la maggior parte degli altri motori per creare una tabella.CREATE EXTERNAL TABLE [db_name.]table_name(col array<string>) LOCATION 's3://amzn-s3-demo-bucket/
your-folder
/' TBLPROPERTIES ('spark.sql.sources.provider' = 'delta') Apri il AWS Glue console all'indirizzo https://console.aws.amazon.com/glue/
. -
Nel pannello di navigazione, seleziona Catalogo dati, Tabelle.
-
Nell'elenco delle tabelle, seleziona il link per la tabella.
-
Nella pagina della tabella seleziona Azioni, Modifica tabella.
-
Nella sezione Parametri Serde aggiungi la chiave
path
con il valores3://amzn-s3-demo-bucket/
.your-folder
/ -
Seleziona Salva.
Per creare una tabella Delta Lake utilizzando il AWS CLI, immettete un comando come il seguente.
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" } }'