Configura le impostazioni di destinazione - Amazon Data Firehose

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

Configura le impostazioni di destinazione

Nota

Firehose supporta il database come fonte in tutte le regioni tranne Regioni AWSCina e Asia Pacifico (Malesia). AWS GovCloud (US) Regions Questa funzionalità è disponibile in anteprima ed è soggetta a modifiche. Non utilizzatela per i vostri carichi di lavoro di produzione.

Firehose supporta l'invio di modifiche al database alle tabelle Apache Iceberg. Configurare le seguenti impostazioni di destinazione per configurare lo stream Firehose con il database come origine.

Connect data catalog

Apache Iceberg richiede un catalogo di dati per scrivere su Apache Iceberg Tables. Firehose si integra con Apache Iceberg AWS Glue Data Catalog Tables. È possibile AWS Glue Data Catalog utilizzarlo nello stesso account dello stream Firehose o in un account multiplo e nella stessa regione dello stream Firehose (impostazione predefinita) oppure in una regione diversa.

Abilita la creazione automatica di tabelle

Se si abilita questa opzione, Firehose crea automaticamente i database, le tabelle e le colonne richiesti nella destinazione di destinazione con lo stesso nome e schema dei database di origine. Se abiliti questa opzione e se Firehose trova alcune tabelle con lo stesso nome e lo stesso schema già presenti, utilizzerà invece quelle esistenti e creerà solo database, tabelle e colonne mancanti.

Se non si abilita questa opzione, Firehose tenta di trovare i database, le tabelle e le colonne richiesti. Se Firehose non riesce a trovarli, genera un errore e invia i dati al bucket di errore S3.

Nota

Affinché Firehose fornisca correttamente i dati a Iceberg Tables, i nomi di database, tabelle e colonne insieme allo schema devono corrispondere completamente. Se i nomi degli oggetti e degli schemi del database non corrispondono, Firehose genera un errore e invia i dati a un bucket di errore S3.

Per i database MySQL, il database di origine è mappato AWS Glue al database e la tabella di origine è mappata alla tabella. AWS Glue

Per PostgreSQL, il database di origine è mappato AWS Glue al database e la tabella di origine è mappata alla tabella con un nome AWS Glue di. SchemaName_TableName

Nota

Per Amazon S3 Tables, Firehose non supporta la creazione automatica di tabelle. È necessario creare tabelle S3 prima di creare uno stream Firehose.

Abilita l'evoluzione dello schema

Se si abilita questa opzione, Firehose evolve automaticamente lo schema delle tabelle Apache Iceberg quando lo schema di origine cambia. Come parte dell'evoluzione dello schema, Firehose attualmente supporta l'aggiunta di nuove colonne. Ad esempio, se viene aggiunta una nuova colonna a una tabella sul lato del database di origine, Firehose apporta automaticamente tali modifiche e aggiunge la nuova colonna alla tabella Apache Iceberg appropriata.

Specificare la durata del nuovo tentativo

È possibile utilizzare questa configurazione per specificare la durata in secondi per cui Firehose deve tentare di riprovare, se riscontra errori nella scrittura su Apache Iceberg Tables in Amazon S3. È possibile impostare qualsiasi valore compreso tra 0 e 7200 secondi per eseguire nuovi tentativi. Per impostazione predefinita, Firehose riprova per 300 secondi.

Gestire la consegna o l'elaborazione non riuscite

È necessario configurare Firehose in modo che invii i record a un bucket di backup S3 nel caso in cui non riesca a elaborare o fornire uno stream dopo la scadenza della durata dei nuovi tentativi. Per questo, configura il prefisso di output degli errori del bucket di backup S3 e del bucket di backup S3.

Configura i suggerimenti sul buffer

Firehose memorizza i dati di streaming in entrata in memoria fino a una certa dimensione (dimensione del buffering) e per un determinato periodo di tempo (intervallo di buffering) prima di consegnarli ad Apache Iceberg Tables. È possibile scegliere una dimensione del buffer di 1—128 e un intervallo di buffer di 0—900 secondi. MiBs Un buffer hint più elevato comporta un minor numero di scritture su S3, un costo di compattazione inferiore grazie a file di dati più grandi e un tempo di esecuzione delle query più rapido, ma con una latenza più elevata. Valori di buffer hint inferiori forniscono i dati con una latenza inferiore.

Configurare le impostazioni avanzate

Per le impostazioni avanzate, puoi configurare la crittografia lato server, la registrazione degli errori, le autorizzazioni e i tag per le tue tabelle Apache Iceberg. Per ulteriori informazioni, consulta Configurare le impostazioni avanzate. È necessario aggiungere il ruolo IAM creato come parte di per utilizzare Apache Iceberg Concedi a Firehose l'accesso per replicare le modifiche del database su Apache Iceberg Tables Tables come destinazione. Firehose assumerà il ruolo di accedere alle AWS Glue tabelle e scrivere nei bucket Amazon S3.

Ti consigliamo vivamente di abilitare i log. CloudWatch In caso di problemi con la connessione di Firehose ai database o l'acquisizione di un'istantanea delle tabelle, Firehose genera un errore e registra i log nei log configurati. Questo è l'unico meccanismo che ti informa sugli errori.

Il completamento della creazione di stream Firehose può richiedere diversi minuti. Dopo aver creato con successo lo stream Firehose, è possibile iniziare a importare dati al suo interno e visualizzare i dati nelle tabelle di Apache Iceberg.

Nota

Configurare un solo flusso Firehose per un database. La presenza di più flussi Firehose per un database crea più connettori al database, il che influisce sulle prestazioni del database.

Una volta creato un flusso Firehose, lo stato iniziale delle tabelle esistenti sarà l'istantanea IN_PROGRESS. Non modificate lo schema della tabella di origine quando lo stato dell'istantanea è impostato su IN_PROGRESS. Se si modifica lo schema della tabella mentre l'istantanea è in corso, Firehose ignora l'istantanea della tabella. Quando il processo di snapshot è completo, il suo stato diventa COMPLETO.