Sincronizza i metadati di Delta Lake - Amazon Athena

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:

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
  1. Apri la console Athena all'indirizzo https://console.aws.amazon.com/athena/.

  2. 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 tipo array<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')
  3. Apri il AWS Glue console all'indirizzo https://console.aws.amazon.com/glue/.

  4. Nel pannello di navigazione, seleziona Catalogo dati, Tabelle.

  5. Nell'elenco delle tabelle, seleziona il link per la tabella.

  6. Nella pagina della tabella seleziona Azioni, Modifica tabella.

  7. Nella sezione Parametri Serde aggiungi la chiave path con il valore s3://amzn-s3-demo-bucket/your-folder/.

  8. 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" } }'