View a markdown version of this page

Come funziona la consegna di tavoli in streaming - Flusso di dati Amazon Kinesis

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

Come funziona la consegna di tavoli in streaming

Usa questo argomento per scoprire come una distribuzione di tabelle in streaming invia i record dal tuo stream Amazon Kinesis Data Streams alle tabelle di streaming su Apache Iceberg supportate da bucket di tabelle S3, tra cui conversione di record, creazione di tabelle di destinazione, partizionamento, aggiornamento dei dati, coda di lettere morte e crittografia.

Come funziona la consegna

La distribuzione di una tabella di streaming invia i record a una tabella di streaming su Apache Iceberg nei seguenti passaggi:

  1. Lettura: la consegna legge i record da tutti i frammenti dello stream Kinesis Data Streams.

  2. Buffer: il buffer di consegna memorizza i record fino al raggiungimento dell'intervallo di aggiornamento dei dati.

  3. Convalida e conversione: la consegna convalida ogni record rispetto allo schema in Schema Registry e lo converte nello AWS Glue schema della tabella Apache Iceberg. I record che non superano la convalida vengono inseriti nella coda delle lettere morte.

  4. Compattazione e scrittura: la consegna converte i record in file Apache Parquet ottimizzati con compattazione in linea e li scrive nella tabella Iceberg di destinazione.

  5. Conferma: la consegna salva i nuovi file nella tabella Iceberg in modo che i dati diventino interrogabili.

Registra conversione

La consegna delle tabelle in streaming richiede uno schema registrato in Schema Registry. AWS Glue La consegna utilizza lo schema per convertire i record in ingresso nello schema della tabella Apache Iceberg. Supporta i seguenti formati di record di input:

  • JSON: semplici record JSON. Fornisci uno GSRSchemaARN che fa riferimento a uno schema registrato in AWS Glue Schema Registry.

  • GSR_JSON — Record JSON con l'ID dello schema incorporato in ogni record dal serializzatore Schema Registry. AWS Glue Lo schema viene risolto automaticamente da Schema Registry. AWS Glue

Per le regole complete di mappatura dei tipi e gestione dei campi da AWS Glue Schema Registry a Iceberg, vedere. Comportamenti iceberg per la tabella di streaming

Scheda di destinazione

Quando crei una distribuzione di tabelle in streaming, Amazon Kinesis Data Streams crea la tabella Iceberg di destinazione nel bucket di tabelle S3 specificato. Specificare quanto segue:

  • Table bucket ARN: l'ARN del bucket di tabella S3 in cui viene creata la tabella.

  • Namespace: lo spazio dei nomi per la tabella.

  • Nome della tabella: il nome della tabella da creare. Ogni consegna crea una propria tabella. Non è possibile effettuare consegne a una tabella esistente.

  • Colonna di partizione: una timestamptz colonna utilizzata per partizionare la tabella per ora. Per i requisiti di partizionamento, vedere. Comportamenti iceberg per la tabella di streaming

Aggiornamento dei dati

L'aggiornamento dei dati definisce il tempo massimo di buffering prima della consegna dei record. È possibile configurare questo valore tra 300 e 900 secondi (da 5 a 15 minuti). Il valore predefinito è 300 secondi. Valori più bassi consentono una consegna più rapida, mentre valori più alti producono un numero inferiore di file di dimensioni maggiori a destinazione.

Dead-letter coda

È necessaria una coda con lettere morte per la consegna dei tavoli in streaming. Specifichi un bucket Amazon S3 che riceve informazioni sui record che non sono stati convalidati. Fornisci l'ARN del bucket, il proprietario previsto del bucket e un prefisso di output dell'errore opzionale. La coda delle lettere morte contiene gli identificatori dei record e il contesto dell'errore, non i payload completi dei record.

Encryption (Crittografia)

La distribuzione delle tabelle in streaming crittografa i dati inviati a riposo in Amazon S3. Per impostazione predefinita, i dati sono crittografati con chiavi gestite da Amazon S3 (). SSE-S3 Puoi invece utilizzare una AWS KMS chiave gestita dal cliente (SSE-KMS).

Importante

Non è possibile utilizzare un Chiave gestita da AWS (l'aws/kinesisalias) per la crittografia della destinazione. È necessario utilizzare una AWS KMS chiave gestita dal cliente. Inoltre, se il flusso di dati Kinesis di origine è crittografato con un Chiave gestita da AWS, non è possibile creare una consegna. Per i requisiti di crittografia del flusso di origine, consultaCrittografia del flusso sorgente. Per le AWS KMS autorizzazioni necessarie al ruolo di esecuzione del servizio, consultaAutorizzazioni IAM per la distribuzione dei dati.

Cross-account e consegna in più regioni

La distribuzione di tavoli in streaming non supporta la consegna tra account o tra regioni. Lo stream di origine, il bucket di tabelle S3 di destinazione e lo AWS Glue Schema Registry devono trovarsi tutti nella stessa regione Account AWS .