View a markdown version of this page

Utilizzo delle tabelle Apache Iceberg con Amazon Redshift - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dalla Patch 198. Le UDF Python esistenti continueranno a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il post del blog.

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 con Amazon Redshift

Nota

Per ottenere le prestazioni migliori quando utilizzi le tabelle Apache Iceberg con Amazon Redshift, devi generare statistiche per le colonne delle tabelle con AWS Glue. Per ulteriori informazioni, consulta Generazione delle statistiche per le colonne delle tabelle Iceberg nella Guida per gli sviluppatori di AWS Glue .

Questo argomento descrive come utilizzare le tabelle in formato Apache Iceberg con Amazon Redshift. Apache Iceberg è un formato di tabella open source ad alte prestazioni per data lake. Per ulteriori informazioni, consulta Apache Iceberg nella documentazione di Apache Iceberg.

Puoi interrogare le tabelle Apache Iceberg catalogate in Amazon AWS Glue Data Catalog Redshift. I tipi di istanze RG e Redshift Serverless utilizzano il proprio calcolo per elaborare le query del data lake, mentre i tipi di istanza RA3 utilizzano Redshift Spectrum. Per ulteriori informazioni, consulta Interrogazione del Data Lake.

Amazon Redshift fornisce coerenza transazionale per l'interrogazione delle tabelle Apache Iceberg. Puoi manipolare i dati nelle tue tabelle utilizzando servizi conformi ad ACID (atomicità, consistenza, isolamento, durabilità) come Amazon Athena e Amazon EMR mentre esegui query utilizzando Amazon Redshift. Amazon Redshift può utilizzare le statistiche delle tabelle archiviate nei metadati di Apache Iceberg per ottimizzare i piani di query e ridurre le scansioni dei file durante l'elaborazione delle query. Con Amazon Redshift SQL, puoi unire tabelle Redshift con tabelle data lake.

Per iniziare a usare le tabelle Iceberg con Amazon Redshift:

  1. Crea una tabella Apache Iceberg su un AWS Glue Data Catalog database utilizzando un servizio compatibile come Amazon Athena o Amazon EMR. Per creare una tabella Iceberg usando Athena, vedi Utilizzo delle tabelle Apache Iceberg nella Guida per l'utente di Amazon Athena.

  2. Crea un cluster Amazon Redshift o un gruppo di lavoro Redshift Serverless con un ruolo IAM associato che consenta l'accesso al tuo data lake. Per informazioni su come creare cluster o gruppi di lavoro, consulta Nozioni di base sui data warehouse con provisioning Amazon Redshift e Nozioni di base sui data warehouse Redshift serverless nella Guida alle operazioni di base di Amazon Redshift.

  3. Connettiti al tuo cluster o gruppo di lavoro utilizzando l'editor di query v2 o un client SQL di terze parti. Per informazioni su come connetterti utilizzando Query Editor V2, consulta Connessione a un data warehouse Amazon Redshift tramite gli strumenti del client SQL nella Guida alla gestione di Amazon Redshift.

  4. Crea uno schema esterno nel database Amazon Redshift per uno specifico database del Catalogo dati che include le tabelle Iceberg. Per informazioni sulla creazione di uno schema esterno, consulta Schemi esterni in Amazon Redshift Spectrum.

  5. Esegui query SQL per accedere alle tabelle Iceberg nello schema esterno che hai creato.

Considerazioni sull'utilizzo delle tabelle Apache Iceberg con Amazon Redshift

Quando utilizzi Amazon Redshift con le tabelle Iceberg, considera quanto segue:

  • Supporto per la versione Iceberg: Amazon Redshift supporta l'esecuzione di query sulle seguenti versioni delle tabelle Iceberg:

    • Versione 1 che definisce la modalità di gestione delle tabelle analitiche di grandi dimensioni utilizzando file di dati immutabili.

    • Versione 2 che aggiunge la possibilità di supportare l'aggiornamento e l'eliminazione a livello di riga mantenendo invariati i file di dati esistenti e gestendo le modifiche ai dati della tabella utilizzando i file di eliminazione.

    Per la differenza tra le tabelle v1 e v2, consulta Modifiche al tipo di formato nella documentazione di Apache Iceberg.

  • Aggiungere partizioni: non è necessario aggiungere manualmente le partizioni per le tabelle Apache Iceberg. Le nuove partizioni nelle tabelle Apache Iceberg vengono rilevate automaticamente da Amazon Redshift e non è necessaria alcuna operazione manuale per aggiornare le partizioni nella definizione della tabella. Eventuali modifiche alle specifiche della partizione vengono inoltre applicate automaticamente alle richieste senza alcun intervento da parte dell'utente.

  • Inserimento di dati Iceberg in Amazon Redshift: puoi utilizzare i comandi INSERT INTO o CREATE TABLE AS per importare dati dalla tua tabella Iceberg in una tabella Amazon Redshift locale. Al momento non è possibile utilizzare il comando COPY per inserire il contenuto di una tabella Apache Iceberg in una tabella Amazon Redshift locale.

  • Viste materializzate: puoi creare le viste materializzate nelle tabelle Apache Iceberg come faresti per qualsiasi altra tabella esterna in Amazon Redshift. Le stesse considerazioni per altri formati di tabelle di data lake si applicano alle tabelle Apache Iceberg. La riscrittura automatica delle query e le viste materializzate automatiche delle tabelle di data lake non sono attualmente supportate.

  • AWS Lake Formation controllo granulare degli accessi: Amazon Redshift supporta il controllo AWS Lake Formation granulare degli accessi sulle tabelle Apache Iceberg.

  • User-defined parametri di gestione dei dati: Amazon Redshift supporta parametri di gestione dei dati definiti dall'utente sulle tabelle Apache Iceberg. Si utilizzano parametri di gestione dei dati definiti dall'utente sui file esistenti per personalizzare i dati interrogati in tabelle esterne ed evitare errori di scansione. Questi parametri forniscono funzionalità per gestire le discrepanze tra lo schema della tabella e i dati effettivi sui file. È possibile utilizzare parametri di gestione dei dati definiti dall'utente anche nelle tabelle Apache Iceberg.

  • Domande sui viaggi nel tempo: le query sui viaggi nel tempo non sono attualmente supportate con le tabelle Apache Iceberg.

  • Prezzi: quando accedi alle tabelle Iceberg da un cluster RG o da un gruppo di lavoro Redshift Serverless, le query sul data lake vengono eseguite sulle risorse di elaborazione proprie del cluster o del gruppo di lavoro, quindi non è previsto alcun costo separato per le query sul data lake. Quando accedi alle tabelle Iceberg da un cluster DC2 o RA3, ti viene addebitato il prezzo di Redshift Spectrum. Per informazioni sui prezzi, consulta i prezzi di Amazon Redshift.

  • Memorizzazione nella cache dei metadati: la memorizzazione nella cache dei metadati presuppone che i file di metadati siano immutabili in base alle specifiche Iceberg. L’immutabilità dei file di metadati è un requisito per l’integrità dei dati in Amazon Redshift.

  • Identità federata: l'identità federata non è supportata durante la scrittura su tabelle Apache Iceberg. Ciò include l'utilizzo della parola chiave SESSION per il parametro IAM_ROLE durante la creazione di schemi esterni. Per ulteriori informazioni sui parametri IAM_ROLE, vedere CREATE EXTERNAL SCHEMA.