Il connettore I/O gestito è una trasformazione Apache Beam che fornisce un'API comune per la creazione di origini e sink.
Panoramica
Puoi creare il connettore I/O gestito utilizzando il codice Apache Beam, come qualsiasi altro connettore I/O. Specifica un'origine o una destinazione da istanziare e passa un insieme di parametri di configurazione. Puoi anche inserire i parametri di configurazione in un file YAML e fornire un URL al file.
Sul backend, Dataflow tratta il connettore I/O gestito come un servizio, il che consente a Dataflow di gestire le operazioni di runtime per il connettore. In questo modo, puoi concentrarti sulla logica di business nella pipeline anziché gestire questi dettagli.
Per ulteriori informazioni sull'API I/O gestita, consulta Managed
nella documentazione dell'SDK Apache Beam Java.
Apache Iceberg
I/O gestita supporta le seguenti funzionalità per Apache Iceberg:
Catalogo | Lettura batch | Scrittura batch | Scrittura in streaming | Creazione di tabelle dinamiche | Destinazioni dinamiche |
---|---|---|---|---|---|
Hadoop | Supportato | Supportato | Supportato | Supportato | Supportato |
Hive | Supportato | Supportato | Supportato | Supportato | Supportato |
Cataloghi basati su REST | Supportato | Supportato | Supportato | Supportato | Supportato |
Per le tabelle BigQuery per Apache Iceberg,
utilizza il
connettore BigQueryIO
con l'API BigQuery Storage. La tabella deve già esistere; la creazione di tabelle dinamiche non è supportata.
Nome | Tipo di dati | Descrizione |
---|---|---|
table |
string | L'identificatore della tabella Apache Iceberg. Esempio:
"db.table1" . |
catalog_name |
string | Il nome del catalogo. Esempio: "local" . |
catalog_properties |
mappa | Una mappa delle proprietà di configurazione per il catalogo Apache Iceberg. Le proprietà richieste dipendono dal catalogo. Per ulteriori informazioni, consulta
CatalogUtil nella documentazione di Apache Iceberg. |
config_properties |
mappa | Un insieme facoltativo di proprietà di configurazione di Hadoop. Per ulteriori informazioni, consulta
CatalogUtil nella documentazione di Apache Iceberg. |
triggering_frequency_seconds |
integer | Per le pipeline di scrittura in streaming, la frequenza con cui il sink tenta di produrre snapshot, in secondi. |
drop |
Elenco di stringhe | Un elenco di nomi di campi da eliminare durante la scrittura della tabella. |
keep |
Elenco di stringhe | Un elenco di nomi di campi da conservare durante la scrittura della tabella. |
only |
string | Il nome di un solo campo da conservare durante la scrittura della tabella. Tutti gli altri campi vengono eliminati. Il valore del campo deve essere un tipo di riga. |
Per ulteriori informazioni, inclusi esempi di codice, consulta i seguenti argomenti:
Apache Kafka
Per Apache Kafka, l'I/O gestita utilizza i seguenti parametri di configurazione.
Lettura e scrittura della configurazione | Tipo di dati | Descrizione |
---|---|---|
bootstrap_servers |
string | Obbligatorio. Un elenco separato da virgole di server bootstrap Kafka.
Esempio: localhost:9092 . |
topic |
string | Obbligatorio. L'argomento Kafka da cui leggere. |
file_descriptor_path |
string | Il percorso di un insieme di descrittori di file del buffer del protocollo. Si applica solo se
data_format è "PROTO" . |
data_format |
string | Il formato dei messaggi. Valori supportati: "AVRO" ,
"JSON" , "PROTO" , "RAW" . Il
valore predefinito è "RAW" , che legge o scrive i byte non elaborati
del payload del messaggio. |
message_name |
string | Il nome del messaggio del buffer del protocollo. Obbligatorio se
data_format è "PROTO" . |
schema |
string | Lo schema dei messaggi Kafka. Il tipo di schema previsto dipende dal formato dei dati:
Per le pipeline di lettura, questo parametro viene ignorato se è impostato |
Leggi configurazione | ||
auto_offset_reset_config |
string | Specifica il comportamento quando non è presente alcun offset iniziale o se l'offset corrente non esiste più sul server Kafka. Sono supportati i seguenti valori:
Il valore predefinito è |
confluent_schema_registry_subject |
string | L'oggetto di un registry dello schema Confluent. Obbligatorio se
confluent_schema_registry_url è specificato. |
confluent_schema_registry_url |
string | L'URL di un registry dello schema Confluent. Se specificato, il parametro
schema viene ignorato. |
consumer_config_updates |
mappa | Imposta i parametri di configurazione per il consumer Kafka. Per ulteriori informazioni, consulta Configurazioni dei consumatori nella documentazione di Kafka. Puoi utilizzare questo parametro per personalizzare il consumer Kafka. |
max_read_time_seconds |
int | Il tempo di lettura massimo, in secondi. Questa opzione genera un valore PCollection limitato ed è destinata principalmente ai test o ad altri scenari non di produzione. |
Scrittura configurazione | ||
producer_config_updates |
mappa | Imposta i parametri di configurazione per il produttore Kafka. Per maggiori informazioni, consulta Configurazioni del produttore nella documentazione di Kafka. Puoi utilizzare questo parametro per personalizzare il produttore Kafka. |
Per leggere i messaggi Avro o JSON, devi specificare uno schema di messaggi. Per impostare direttamente uno schema, utilizza il parametro schema
. Per fornire lo schema tramite un
registro dello schema Confluent, imposta i parametri confluent_schema_registry_url
e
confluent_schema_registry_subject
.
Per leggere o scrivere messaggi Protocol Buffer, specifica uno schema di messaggi o imposta il parametro file_descriptor_path
.