Interroga le tabelle Apache Iceberg - 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à.

Interroga le tabelle Apache Iceberg

È possibile utilizzare Athena per eseguire query di lettura, viaggio nel tempo, scrittura e DDL sulle tabelle Apache Iceberg.

Apache Iceberg è un formato a tabella aperta per set di dati analitici di dimensioni molto grandi. Iceberg gestisce grandi raccolte di file come tabelle e supporta le moderne operazioni analitiche di data lake come inserimento a livello di record, aggiornamento, eliminazione e query temporali. La specifica di Iceberg consente un'evoluzione perfetta delle tabelle, come l'evoluzione di schemi e partizioni; inoltre è concepita per un utilizzo ottimizzato su Amazon S3. Iceberg aiuta inoltre a garantire la correttezza dei dati in scenari di scrittura simultanea.

Per ulteriori informazioni su Apache Iceberg, consulta https://iceberg.apache.org/.

Considerazioni e limitazioni

Il supporto di Athena per le tabelle Iceberg presenta le seguenti considerazioni e 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.

  • Solo tabelle con AWS Glue catalogo: solo le tabelle Iceberg create in base al AWS Glue catalogo in base alle specifiche definite dall'implementazione open source del catalogo Glue sono supportate da Athena.

  • Supporto AWS Glue solo per il blocco delle tabelle: a differenza dell'implementazione open source del catalogo Glue, che supporta il blocco personalizzato tramite plug-in, Athena supporta AWS Glue solo il blocco ottimistico. 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: la versione 3 del motore Athena supporta i seguenti formati di file Iceberg.

    • 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 $snapshots Iceberg ha esito negativo e viene visualizzato un errore. AccessDeniedException Inoltre, la colonna dei metadati $path presenta 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, consulta Tabelle di metadati.

  • 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 VIEW per creare viste Athena come descritto nella pagina Lavora con le viste. Se desideri utilizzare le specifiche di visualizzazione Iceberg per creare viste, contatta athena-feedback@amazon.com.

  • I comandi di gestione TTF non sono supportati in AWS Lake Formation: sebbene sia possibile utilizzare Lake Formation per gestire le autorizzazioni di accesso in lettura per TransactionTable formati (TTFs) come Apache Iceberg, Apache Hudi e Linux Foundation Delta Lake, non è possibile utilizzare Lake Formation per gestire le autorizzazioni per operazioni comeVACUUM, MERGE o con questi formati di tabella. UPDATE OPTIMIZE Per ulteriori informazioni sull'integrazione di Lake Formation con Athena, consulta Using AWS Lake Formation with Amazon Athena nella AWS Lake Formation Developer Guide.

  • 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 Amazon Glacier non è supportato: se gli oggetti nella tabella Apache Iceberg si trovano in una classe di storage Amazon Glacier, l'impostazione della proprietà della tabella su non ha alcun effetto. read_restored_glacier_objects false

    Ad esempio, supponiamo di emettere il seguente comando:

    ALTER TABLE table_name SET 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 ALTER TABLE comando non produce errori, ma gli oggetti Amazon Glacier non vengono ancora ignorati. L'esecuzione delle query SELECT dopo il comando ALTER TABLE continuerà a restituire tutti gli oggetti.

Se si desidera che Athena supporti una particolare funzionalità, inviare un feedback all'indirizzo athena-feedback@amazon.com.