Tabelle Delta Lake di Linux Foundation
Delta LakeMSCK REPAIR.
Il formato Delta Lake archivia i valori minimi e massimi per colonna di ogni file di dati. L'implementazione di Athena utilizza queste informazioni per consentire di saltare i file sui predicati per non considerare i file indesiderati.
Considerazioni e limitazioni
Il supporto per Delta Lake in Athena ha le seguenti limitazioni:
-
Solo tabelle con catalogo AWS Glue: il supporto nativo di Delta Lake è supportato solo tramite tabelle registrate con AWS Glue. Se hai una tabella Delta Lake registrata con un altro metastore, puoi comunque conservarla e trattarla come metastore principale. Poiché i metadati di Delta Lake sono archiviati nel file system (ad esempio, in Amazon S3) anziché nel metastore, Athena richiede solo la proprietà della posizione in AWS Glue per leggere le tabelle Delta Lake.
-
Solo motore V3: le query Delta Lake sono supportate solo sulla versione 3 del motore Athena. È necessario assicurarsi che il gruppo di lavoro creato sia configurato per l'utilizzo della versione 3 del motore Athena.
-
Supporto per le query temporali non disponibile: non è disponibile alcun supporto per le query che utilizzano le funzionalità temporali di Delta Lake.
-
Sola lettura: le istruzioni DML di scrittura come
UPDATE,INSERToDELETEnon sono supportate. -
Supporto di Lake Formation: l'integrazione di Lake Formation non è disponibile per tabelle Delta Lake con il relativo schema sincronizzato con AWS Glue. Per ulteriori informazioni, consulta Utilizzo di AWS Lake Formation con Amazon Athena e Configurazione delle autorizzazioni per una tabella Delta Lake nella Guida per gli sviluppatori di AWS Lake Formation.
-
Supporto DDL limitato: sono supportate le seguenti istruzioni DDL:
CREATE EXTERNAL TABLE,SHOW COLUMNS,SHOW TBLPROPERTIES,SHOW PARTITIONS,SHOW CREATE TABLEeDESCRIBE. Per informazioni sull'utilizzo dell'istruzioneCREATE EXTERNAL TABLE, consulta la sezione Inizia a usare le tabelle Delta Lake. -
Ignorare gli oggetti S3 Glacier non è supportato: se gli oggetti nella tabella Delta Lake di Linux Foundation si trovano in una classe di archiviazione Amazon S3 Glacier, l'impostazione della proprietà della tabella
read_restored_glacier_objectssufalsenon ha alcun effetto.Ad esempio, supponiamo di emettere il seguente comando:
ALTER TABLEtable_nameSET TBLPROPERTIES ('read_restored_glacier_objects' = 'false')Per le tabelle Iceberg e Delta Lake, il comando produce l'errore
Chiave delle proprietà della tabella non supportata: read_restored_glacier_objects. Per le tabelle Hudi, il comandoALTER TABLEnon produce un errore, ma gli oggetti Amazon S3 Glacier ancora non verranno ignorati. L'esecuzione delle querySELECTdopo il comandoALTER TABLEcontinuerà a restituire tutti gli oggetti. -
Tabelle crittografate: Athena non supporta la lettura nativa di tabelle Delta Lake crittografate CSE-KMS. Ciò include le istruzioni SELECT e le istruzioni DDL.
Versionamento di Delta Lake e Athena
Athena non utilizza le versioni
-
Versione Reader: ogni tavolo Delta Lake ha una versione Reader. Attualmente, si tratta di un numero compreso tra 1 e 3. Le interrogazioni che includono una tabella con una versione di lettura non supportata da Athena avranno esito negativo.
-
Caratteristiche della tabella: ogni tabella Delta Lake può anche dichiarare una serie di funzionalità di lettura/scrittura. Poiché il supporto di Athena per Delta Lake è di sola lettura, la compatibilità delle funzionalità di table writer non si applica. Tuttavia, le interrogazioni su tabelle con funzionalità di lettura delle tabelle non supportate avranno esito negativo.
La tabella seguente mostra le versioni del lettore Delta Lake e le funzionalità del lettore da tavolo Delta Lake supportate da Athena.
| Tipo di query | Versioni di Redis supportate | Funzionalità di lettura supportate |
|---|---|---|
| DQL (istruzioni SELECT) | = 3 | Mappatura delle colonne, timestampNTZ |
| DDL | = 1 | Non applicabile. Le funzionalità del lettore possono essere dichiarate solo su tabelle con una versione del lettore pari o superiore a 2. |
-
Per un elenco delle funzionalità delle tabelle Delta Lake, consulta Nomi di funzionalità validi nelle caratteristiche delle tabelle
su GitHub.com -
Per un elenco delle funzionalità di Delta Lake suddivise per versione del protocollo, consulta Funzionalità per versione del protocollo su GitHub.com
.
Per creare una tabella Delta Lake in Athena con una versione del lettore superiore a 1, vedi. Sincronizzazione dei metadati Delta Lake