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

Utilizzo di tabelle Apache Iceberg

Athena supporta le query di lettura, viaggio nel tempo, scrittura e DDL per le tabelle Apache Iceberg che utilizzano il formato Apache Parquet per i dati e il catalogo per il loro metastore. AWS Glue

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 ha le seguenti limitazioni:

  • 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: il supporto del formato di file Iceberg in Athena dipende dalla versione del motore Athena, come illustrato nella tabella seguente.

    Versione del motore Athena Parquet ORC Avro
    2 No No
    3
  • 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 Utilizzo delle visualizzazioni. Se desideri utilizzare le specifiche di visualizzazione Iceberg per 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 in lettura per TransactionTable formati (TTF) come Apache Iceberg, Apache Hudi e Linux Foundation Delta Lake, non è possibile utilizzare Lake Formation per gestire le autorizzazioni per operazioni come VACUUM o con questi formati di tabella. MERGE UPDATE OPTIMIZE Per ulteriori informazioni sull'integrazione di Lake Formation con Athena, consulta Using AWS Lake Formation with Amazon Athena nellaAWS 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 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_objects su false non ha alcun effetto.

    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 comando ALTER TABLE non produce un errore, ma gli oggetti Amazon S3 Glacier ancora non verranno 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.