Managed I/O supporta la lettura e la scrittura in Apache Kafka.
Requisiti
I seguenti SDK supportano I/O gestito per Apache Kafka:
- Apache Beam SDK per Java versione 2.58.0 o successive
- SDK Apache Beam per Python versione 2.61.0 o successive
Configurazione
L'I/O gestito per BigQuery supporta i seguenti parametri di configurazione:
KAFKA Leggi
| Configurazione | Tipo | Descrizione |
|---|---|---|
| bootstrap_servers |
str
|
Un elenco di coppie host/porta da utilizzare per stabilire la connessione iniziale al cluster Kafka. Il client utilizzerà tutti i server indipendentemente da quali server sono specificati qui per il bootstrapping. Questo elenco influisce solo sugli host iniziali utilizzati per scoprire l'insieme completo di server. Questo elenco deve avere il formato `host1:port1,host2:port2,...` |
| topic |
str
|
n/a |
| allow_duplicates |
boolean
|
Se la lettura di Kafka consente i duplicati. |
| confluent_schema_registry_subject |
str
|
n/a |
| confluent_schema_registry_url |
str
|
n/a |
| consumer_config_updates |
map[str, str]
|
Un elenco di coppie chiave/valore che fungono da parametri di configurazione per i consumer Kafka. La maggior parte di queste configurazioni non sarà necessaria, ma se devi personalizzare il consumer Kafka, puoi utilizzarle. Visualizza un elenco dettagliato: https://docs.confluent.io/platform/current/installation/configuration/consumer-configs.html |
| file_descriptor_path |
str
|
Il percorso del file del set di descrittori di file del buffer di protocollo. Questo file viene utilizzato per la definizione dello schema e la serializzazione dei messaggi. |
| formato |
str
|
Il formato di codifica per i dati archiviati in Kafka. Le opzioni valide sono: RAW,STRING,AVRO,JSON,PROTO |
| message_name |
str
|
Il nome del messaggio Protocol Buffer da utilizzare per l'estrazione dello schema e la conversione dei dati. |
| offset_deduplication |
boolean
|
Se la ridistribuzione utilizza la modalità di deduplicazione dell'offset. |
| redistribute_by_record_key |
boolean
|
Se le chiavi di ridistribuzione sono in base alla chiave del record Kafka. |
| redistribute_num_keys |
int32
|
Il numero di chiavi per ridistribuire gli input Kafka. |
| ridistribuito |
boolean
|
Se la lettura di Kafka deve essere ridistribuita. |
| schema |
str
|
Lo schema in cui i dati sono codificati nell'argomento Kafka. Per i dati AVRO, si tratta di uno schema definito con la sintassi dello schema AVRO (https://avro.apache.org/docs/1.10.2/spec.html#schemas). Per i dati JSON, si tratta di uno schema definito con la sintassi JSON Schema (https://json-schema.org/). Se viene fornito un URL a Confluent Schema Registry, questo campo viene ignorato e lo schema viene recuperato da Confluent Schema Registry. |
KAFKA Scrittura
| Configurazione | Tipo | Descrizione |
|---|---|---|
| bootstrap_servers |
str
|
Un elenco di coppie host/porta da utilizzare per stabilire la connessione iniziale al cluster Kafka. Il client utilizzerà tutti i server indipendentemente da quali server sono specificati qui per il bootstrapping. Questo elenco influisce solo sugli host iniziali utilizzati per scoprire l'insieme completo di server. | Formato: host1:porta1,host2:porta2,... |
| formato |
str
|
Il formato di codifica per i dati archiviati in Kafka. Le opzioni valide sono: RAW,JSON,AVRO,PROTO |
| topic |
str
|
n/a |
| file_descriptor_path |
str
|
Il percorso del file del set di descrittori di file del buffer di protocollo. Questo file viene utilizzato per la definizione dello schema e la serializzazione dei messaggi. |
| message_name |
str
|
Il nome del messaggio Protocol Buffer da utilizzare per l'estrazione dello schema e la conversione dei dati. |
| producer_config_updates |
map[str, str]
|
Un elenco di coppie chiave-valore che fungono da parametri di configurazione per i produttori Kafka. La maggior parte di queste configurazioni non sarà necessaria, ma se devi personalizzare il producer Kafka, puoi utilizzarle. Consulta un elenco dettagliato: https://docs.confluent.io/platform/current/installation/configuration/producer-configs.html |
| schema |
str
|
n/a |
Passaggi successivi
Per ulteriori informazioni ed esempi di codice, consulta i seguenti argomenti: