Utilizzo delle tabelle Apache Iceberg utilizzando Amazon Athena SQL - AWS Guida prescrittiva

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à.

Utilizzo delle tabelle Apache Iceberg utilizzando Amazon Athena SQL

Amazon Athena fornisce supporto integrato per Apache Iceberg e non richiede passaggi o configurazioni aggiuntivi. Questa sezione fornisce una panoramica dettagliata delle funzionalità supportate e linee guida di alto livello per l'utilizzo di Athena per interagire con le tabelle Iceberg.

Compatibilità tra versioni e funzionalità

Supporto alle specifiche della tabella Iceberg

La specifica della tabella Apache Iceberg specifica come dovrebbero comportarsi le tabelle Iceberg. Athena supporta il formato di tabella versione 2, quindi qualsiasi tabella Iceberg creata con la console, la CLI o l'SDK utilizza intrinsecamente quella versione.

Se utilizzi una tabella Iceberg creata con un altro motore, come Apache Spark su Amazon EMR oppure AWS Glue, assicurati di impostare la versione del formato della tabella utilizzando le proprietà della tabella. Come riferimento, consulta la sezione Creazione e scrittura di tabelle Iceberg precedente in questa guida.

Supporto per le funzionalità Iceberg

Puoi usare Athena per leggere e scrivere sulle tabelle Iceberg. Quando si modificano i dati utilizzando le DELETE FROM istruzioniUPDATE, eMERGE INTO,, Athena supporta solo la merge-on-read modalità. Questa proprietà non può essere modificata. Per aggiornare o eliminare i dati con copy-on-write, devi utilizzare altri motori come Apache Spark su Amazon EMR o. AWS Glue La tabella seguente riassume il supporto delle funzionalità Iceberg in Athena.

Supporto DDL supporto DML AWS Lake Formation per motivi di sicurezza (opzionale)
Formato della tabella Create table (Crea tabella) Evoluzione dello schema Lettura dei dati Scrittura di dati Controllo dell'accesso a righe/colonne
Amazon Athena Versione 2 X C opy-on-write
✓ M erge-on-read
Nota
  • Athena non supporta le interrogazioni incrementali.

  • In Athena, le operazioni di aggiornamento, eliminazione e unione sono sempre predefinite su merge on read (MoR), indipendentemente dalle impostazioni di copia in scrittura (CoW) nelle proprietà della tabella, poiché CoW non è supportato.

Lavorare con le tabelle Iceberg

Per iniziare rapidamente a usare Iceberg in Athena, consulta la sezione Guida introduttiva alle tabelle Iceberg in Athena SQL all'inizio di questa guida.

La tabella seguente elenca le limitazioni e i consigli.

Scenario

Limitazione

Raccomandazione

Tabella: generazione DDL

Le tabelle Iceberg create con altri motori possono avere proprietà che non sono esposte in Athena. Per queste tabelle, non è possibile generare il DDL.

Usa l'istruzione equivalente nel motore che ha creato la tabella (ad esempio, l'SHOW CREATE TABLEistruzione per Spark).

Prefissi Amazon S3 casuali in oggetti scritti su una tabella Iceberg

Per impostazione predefinita, le tabelle Iceberg create con Athena hanno write.object-storage.enabled la proprietà abilitata.

Per disabilitare questo comportamento e ottenere il pieno controllo sulle proprietà della tabella Iceberg, crea una tabella Iceberg con un altro motore come Spark su Amazon EMR o. AWS Glue

Query incrementali

Attualmente non è supportato in Athena.

Per utilizzare le query incrementali per abilitare pipeline di inserimento incrementali dei dati, usa Spark su Amazon EMR o. AWS Glue