Tabelle Apache Iceberg
È possibile utilizzare Athena per eseguire le query di lettura, temporali e scrittura sulle tabelle Apache Iceberg.
Apache Iceberg
Per ulteriori informazioni su Apache Iceberg, consulta https://iceberg.apache.org/
Considerazioni e limitazioni
Il supporto di Athena per le tabelle Iceberg ha le seguenti limitazioni:
-
Supporto per la versione Iceberg — Athena supporta la versione 1.4.2 di Apache Iceberg.
-
Tabelle registrate con Lake Formation — Athena attualmente non supporta le operazioni DDL sulle tabelle Iceberg registrate con Lake Formation.
-
Interrogazioni sullo schema informativo: quando si esegue una query sullo schema informativo delle tabelle Iceberg, Athena utilizza i metadati S3 come fonte di verità per i metadati delle colonne. Ciò significa che le informazioni sulle colonne derivano dai file S3 sottostanti anziché dai metadati del catalogo. Questo comportamento è diverso da altri formati di tabella in cui i metadati del catalogo potrebbero essere la fonte principale per le informazioni sulle colonne.
-
Tabelle solo con catalogo AWS Glue: solo le tabelle Iceberg create rispetto al catalogo AWS Glue basato sulle specifiche definite dall'implementazione del catalogo Glue open source
sono supportate da Athena. -
Supporto di blocco tabella solo da parte di AWS Glue: a differenza dell'implementazione del catalogo Glue open source, che supporta il blocco personalizzato plug-in, Athena supporta solo blocco ottimistico AWS Glue. L'utilizzo di Athena per modificare una tabella Iceberg con qualsiasi altra implementazione di blocco causerà potenziali perdite di dati e interruzioni delle transazioni.
-
Formati di file supportati: il supporto del formato di file Iceberg in Athena dipende dalla versione del motore Athena, come illustrato nella tabella seguente.
-
Parquet
-
ORC
-
Avro
-
-
Metadati limitati da Iceberg: Lake Formation non valuta le tabelle dei metadati di Iceberg. Pertanto, le tabelle dei metadati Iceberg sono limitate se nella tabella base sono presenti filtri di riga o cella di Lake Formation o se non si dispone delle autorizzazioni per visualizzare tutte le colonne nella tabella base. In questi casi, l'interrogazione delle tabelle di metadati
$partitions$files,$manifests, e$snapshotsIceberg ha esito negativo e viene visualizzato un errore.AccessDeniedExceptionInoltre, la colonna dei metadati$pathpresenta le stesse restrizioni di Lake Formation e ha esito negativo quando viene selezionata dalla query. Tutte le altre tabelle di metadati possono essere interrogate indipendentemente dai filtri di Lake Formation. Per ulteriori informazioni sui metadata, consulta . -
Tabelle Iceberg v2: Athena crea e opera solo su tabelle Iceberg v2. Per la differenza tra le tabelle v1 e v2, consulta Modifiche al tipo di formato
nella documentazione di Apache Iceberg. -
Visualizzazione dei tipi di orari senza fuso orario: l'ora e il timestamp senza tipi di fuso orario vengono visualizzati in UTC. Se il fuso orario non è specificato in un'espressione di filtro su una colonna temporale, viene utilizzato UTC.
-
Precisione dei dati relativi al timestamp: mentre Iceberg supporta una precisione al microsecondo per il tipo di dati del timestamp, Athena per i timestamp supporta solo una precisione al millisecondo sia in lettura che in scrittura. Per i dati nelle colonne relative al tempo riscritti durante le operazioni di compattazione manuale, Athena mantiene solo una precisione al millisecondo.
-
Operazioni non supportate:le seguenti operazioni Athena non sono supportate per le tabelle Iceberg.
-
Viste: utilizza
CREATE VIEWper creare viste Athena come descritto nella pagina Utilizzo delle viste . Se desideri utilizzare le specifiche di visualizzazione Icebergper creare viste, contatta athena-feedback@amazon.com . -
Comandi di gestione TTF non supportati in AWS Lake Formation: sebbene sia possibile utilizzare Lake Formation per gestire le autorizzazioni di accesso di lettura di TransactionTable Formats (TTF) come Apache Iceberg, Apache Hudi e Linux Foundation Delta Lake, non è possibile utilizzare Lake Formation per gestire le autorizzazioni delle operazioni come
VACUUM,MERGE,UPDATEoOPTIMIZEcon questi formati di tabella. Per ulteriori informazioni sull'integrazione di Lake Formation con Athena, consulta Utilizzo di AWS Lake Formation con Amazon Athena nella Guida per gli sviluppatori di AWS Lake Formation. -
Partizionamento per campi annidati: il partizionamento per campi annidati non è supportato. Il tentativo di eseguire questa operazione genera il messaggio
NOT_SUPPORTED: Il partizionamento per campo annidato non è supportato:column_name.nested_field_name. -
Ignorare gli oggetti S3 Glacier non supportati: se gli oggetti nella tabella Apache Iceberg 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.
Se si desidera che Athena supporti una particolare funzionalità, inviare un feedback all'indirizzo athena-feedback@amazon.com