I/O gestito di Dataflow per i database

Dataflow supporta la lettura e la scrittura nei database utilizzando Java Database Connectivity (JDBC). Dataflow utilizza il connettore Apache Beam JdbcIO per connettersi a origini e sink dati JDBC. Managed I/O for Databases supporta i driver JDBC standard per vari database, tra cui PostgreSQL, MySQL e Microsoft SQL Server.

Requisiti

I seguenti SDK supportano I/O gestito per i database:

  • Apache Beam SDK per Java versione 2.69.0 o successive
  • SDK Apache Beam per Python versione 2.69.0 o successive

Configurazione

Managed I/O for Databases supporta i seguenti parametri di configurazione:

POSTGRES Leggi

Configurazione Tipo Descrizione
jdbc_url str URL di connessione per l'origine JDBC.
connection_properties str Utilizzato per impostare le proprietà di connessione passate al driver JDBC non ancora definite come parametro autonomo (ad es. nome utente e password possono essere impostati utilizzando i parametri precedenti di conseguenza). Il formato della stringa deve essere "key1=value1;key2=value2;".
fetch_size int32 Questo metodo viene utilizzato per eseguire l'override delle dimensioni dei dati che verranno recuperati e caricati in memoria per ogni chiamata al database. Deve essere utilizzato SOLO se il valore predefinito genera errori di memoria.
località str Il nome della tabella da cui leggere.
num_partitions int32 Il numero di partizioni
output_parallelization boolean Indica se rimescolare il PCollection risultante in modo che i risultati vengano distribuiti a tutti i worker.
partition_column str Nome di una colonna di tipo numerico che verrà utilizzata per il partizionamento.
password str Password per l'origine JDBC.
read_query str Query SQL utilizzata per eseguire query sull'origine JDBC.
nome utente str Nome utente per l'origine JDBC.

POSTGRES Scrittura

Configurazione Tipo Descrizione
jdbc_url str URL di connessione per il sink JDBC.
autosharding boolean Se il valore è true, consente di utilizzare un numero di shard determinato dinamicamente per la scrittura.
batch_size int64 n/a
connection_properties str Utilizzato per impostare le proprietà di connessione passate al driver JDBC non ancora definite come parametro autonomo (ad es. nome utente e password possono essere impostati utilizzando i parametri precedenti di conseguenza). Il formato della stringa deve essere "key1=value1;key2=value2;".
località str Il nome della tabella in cui scrivere.
password str Password per l'origine JDBC.
nome utente str Nome utente per l'origine JDBC.
write_statement str Query SQL utilizzata per inserire record nel sink JDBC.

MYSQL Leggi

Configurazione Tipo Descrizione
jdbc_url str URL di connessione per l'origine JDBC.
connection_init_sql list[str] Imposta le istruzioni SQL di inizializzazione della connessione utilizzate dal driver. Solo MySQL e MariaDB lo supportano.
connection_properties str Utilizzato per impostare le proprietà di connessione passate al driver JDBC non ancora definite come parametro autonomo (ad es. nome utente e password possono essere impostati utilizzando i parametri precedenti di conseguenza). Il formato della stringa deve essere "key1=value1;key2=value2;".
disable_auto_commit boolean Indica se disattivare il commit automatico in lettura. Se non viene fornito, il valore predefinito è true. La necessità di questa configurazione varia a seconda della piattaforma di database. Informix richiede che questo valore sia impostato su false, mentre Postgres richiede che sia impostato su true.
fetch_size int32 Questo metodo viene utilizzato per eseguire l'override delle dimensioni dei dati che verranno recuperati e caricati in memoria per ogni chiamata al database. Deve essere utilizzato SOLO se il valore predefinito genera errori di memoria.
località str Il nome della tabella da cui leggere.
num_partitions int32 Il numero di partizioni
output_parallelization boolean Indica se rimescolare il PCollection risultante in modo che i risultati vengano distribuiti a tutti i worker.
partition_column str Nome di una colonna di tipo numerico che verrà utilizzata per il partizionamento.
password str Password per l'origine JDBC.
read_query str Query SQL utilizzata per eseguire query sull'origine JDBC.
nome utente str Nome utente per l'origine JDBC.

MYSQL Scrittura

Configurazione Tipo Descrizione
jdbc_url str URL di connessione per il sink JDBC.
autosharding boolean Se il valore è true, consente di utilizzare un numero di shard determinato dinamicamente per la scrittura.
batch_size int64 n/a
connection_init_sql list[str] Imposta le istruzioni SQL di inizializzazione della connessione utilizzate dal driver. Solo MySQL e MariaDB lo supportano.
connection_properties str Utilizzato per impostare le proprietà di connessione passate al driver JDBC non ancora definite come parametro autonomo (ad es. nome utente e password possono essere impostati utilizzando i parametri precedenti di conseguenza). Il formato della stringa deve essere "key1=value1;key2=value2;".
località str Il nome della tabella in cui scrivere.
password str Password per l'origine JDBC.
nome utente str Nome utente per l'origine JDBC.
write_statement str Query SQL utilizzata per inserire record nel sink JDBC.

SQLSERVER Leggi

Configurazione Tipo Descrizione
jdbc_url str URL di connessione per l'origine JDBC.
connection_properties str Utilizzato per impostare le proprietà di connessione passate al driver JDBC non ancora definite come parametro autonomo (ad es. nome utente e password possono essere impostati utilizzando i parametri precedenti di conseguenza). Il formato della stringa deve essere "key1=value1;key2=value2;".
disable_auto_commit boolean Indica se disattivare il commit automatico in lettura. Se non viene fornito, il valore predefinito è true. La necessità di questa configurazione varia a seconda della piattaforma di database. Informix richiede che questo valore sia impostato su false, mentre Postgres richiede che sia impostato su true.
fetch_size int32 Questo metodo viene utilizzato per eseguire l'override delle dimensioni dei dati che verranno recuperati e caricati in memoria per ogni chiamata al database. Deve essere utilizzato SOLO se il valore predefinito genera errori di memoria.
località str Il nome della tabella da cui leggere.
num_partitions int32 Il numero di partizioni
output_parallelization boolean Indica se rimescolare il PCollection risultante in modo che i risultati vengano distribuiti a tutti i worker.
partition_column str Nome di una colonna di tipo numerico che verrà utilizzata per il partizionamento.
password str Password per l'origine JDBC.
read_query str Query SQL utilizzata per eseguire query sull'origine JDBC.
nome utente str Nome utente per l'origine JDBC.

SQLSERVER Scrittura

Configurazione Tipo Descrizione
jdbc_url str URL di connessione per il sink JDBC.
autosharding boolean Se il valore è true, consente di utilizzare un numero di shard determinato dinamicamente per la scrittura.
batch_size int64 n/a
connection_properties str Utilizzato per impostare le proprietà di connessione passate al driver JDBC non ancora definite come parametro autonomo (ad es. nome utente e password possono essere impostati utilizzando i parametri precedenti di conseguenza). Il formato della stringa deve essere "key1=value1;key2=value2;".
località str Il nome della tabella in cui scrivere.
password str Password per l'origine JDBC.
nome utente str Nome utente per l'origine JDBC.
write_statement str Query SQL utilizzata per inserire record nel sink JDBC.

Passaggi successivi

Per ulteriori informazioni ed esempi di codice, consulta i seguenti documenti: