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à.
Configurare lo stream Firehose
Per creare uno stream Firehose con Apache Iceberg Tables come destinazione è necessario configurare quanto segue.
Nota
La configurazione di uno stream Firehose per la distribuzione alle tabelle nei bucket di tabelle S3 è la stessa di Apache Iceberg Tables in Amazon S3.
Configura origine e destinazione
Per inviare dati ad Apache Iceberg Tables, scegli la fonte per il tuo stream.
Per configurare la fonte per lo streaming, consulta Configurare le impostazioni della sorgente.
Quindi, scegli Apache Iceberg Tables come destinazione e fornisci un nome di stream Firehose.
Configura la trasformazione dei dati
Per eseguire trasformazioni personalizzate sui dati, come aggiungere o modificare record nel flusso in entrata, è possibile aggiungere una funzione Lambda allo stream Firehose. Per ulteriori informazioni sulla trasformazione dei dati utilizzando Lambda in uno stream Firehose, vedere. Trasforma i dati di origine in Amazon Data Firehose
Per Apache Iceberg Tables, è necessario specificare come si desidera indirizzare i record in entrata verso diverse tabelle di destinazione e le operazioni che si desidera eseguire. Uno dei modi per fornire le informazioni di routing richieste a Firehose consiste nell'utilizzare una funzione Lambda.
Per ulteriori informazioni, consulta Instradare i record verso diverse tabelle Iceberg.
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.
Configura le espressioni JQ
Per le tabelle Apache Iceberg, è necessario specificare come si desidera indirizzare i record in entrata a diverse tabelle di destinazione e le operazioni come inserimento, aggiornamento ed eliminazione che si desidera eseguire. È possibile farlo configurando le espressioni JQ in modo che Firehose analizzi e ottenga le informazioni richieste. Per ulteriori informazioni, consulta Fornire informazioni di routing a JSONQuery Firehose con espressione.
Configura chiavi univoche
Aggiornamenti ed eliminazioni con più di una tabella: le chiavi univoche sono uno o più campi nel record di origine che identificano in modo univoco una riga nelle tabelle Apache Iceberg. Se è stato impostato lo scenario Insert Only con più di una tabella, non è necessario configurare chiavi univoche. Se desideri eseguire aggiornamenti ed eliminazioni su determinate tabelle, devi configurare chiavi univoche per quelle tabelle richieste. Tieni presente che l'aggiornamento inserirà automaticamente la riga se manca la riga nelle tabelle. Se hai solo una tabella, puoi configurare chiavi univoche.
È possibile configurare chiavi univoche per tabella come parte della creazione del flusso Firehose oppure impostarle identifier-field-idsidentifier-field-ids
richieste e le utilizzerà come chiavi univoche. Se entrambe non sono configurate, la consegna dei dati con le operazioni di aggiornamento ed eliminazione fallisce.
Per configurare questa sezione, fornisci il nome del database, il nome della tabella e le chiavi univoche per le tabelle in cui desideri aggiornare o eliminare i dati. È possibile avere solo voci per ogni tabella nella configurazione. Facoltativamente, puoi anche scegliere di fornire un prefisso del bucket di errore se i dati della tabella non vengono forniti, come mostrato nell'esempio seguente.
[ { "DestinationDatabaseName": "MySampleDatabase", "DestinationTableName": "MySampleTable", "UniqueKeys": [ "COLUMN_PLACEHOLDER" ], "S3ErrorOutputPrefix": "OPTIONAL_PREFIX_PLACEHOLDER" } ]
Specificare la durata dei nuovi tentativi
È 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 per inviare i record a un bucket di backup S3 nel caso in cui si verifichino errori nell'elaborazione o nella consegna di uno stream dopo la scadenza della durata dei nuovi tentativi. Per questo, configura il prefisso di output dell'errore del bucket di backup S3 e del bucket di backup S3 dalle impostazioni di backup nella console.
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 S3, un minor costo di compattazione grazie a file di dati più grandi e un'esecuzione più rapida delle query ma con una latenza più elevata. Valori di buffer hint inferiori forniscono i dati con una latenza inferiore.
Configurare 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. Devi aggiungere il IAM ruolo che hai creato come parte di. Prerequisiti per utilizzare Apache Iceberg Tables come destinazione Firehose assumerà il ruolo di accedere alle AWS Glue tabelle e scrivere nei bucket Amazon S3.
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.