Von Dataflow verwaltete E/A für Datenbanken
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Dataflow unterstützt das Lesen aus und Schreiben in Datenbanken mit Java Database Connectivity (JDBC). Dataflow verwendet den Apache Beam-Connector JdbcIO, um eine Verbindung zu JDBC-Datenquellen und -Senken herzustellen. Managed I/O for Databases unterstützt Standard-JDBC-Treiber für verschiedene Datenbanken, darunter PostgreSQL, MySQL und Microsoft SQL Server.
Voraussetzungen
Die folgenden SDKs unterstützen verwaltete E/A für Datenbanken:
Apache Beam SDK für Java Version 2.69.0 oder höher
Apache Beam SDK für Python Version 2.69.0 oder höher
Konfiguration
Der verwaltete E/A-Connector für Datenbanken unterstützt die folgenden Konfigurationsparameter:
POSTGRES Lesen
Konfiguration
Typ
Beschreibung
jdbc_url
str
Verbindungs-URL für die JDBC-Quelle.
connection_properties
str
Wird verwendet, um Verbindungseigenschaften festzulegen, die an den JDBC-Treiber übergeben werden und nicht bereits als eigenständiger Parameter definiert sind (z.B. können Nutzername und Passwort mit den oben genannten Parametern festgelegt werden). Das Format des Strings muss „key1=value1;key2=value2;“ sein.
fetch_size
int32
Mit dieser Methode wird die Größe der Daten überschrieben, die bei jedem Datenbankaufruf abgerufen und in den Arbeitsspeicher geladen werden. Sie sollte NUR verwendet werden, wenn der Standardwert Speicherfehler verursacht.
Standort
str
Der Name der Tabelle, aus der gelesen werden soll.
num_partitions
int32
Anzahl der Partitionen
output_parallelization
boolean
Gibt an, ob die resultierende PCollection neu gemischt werden soll, damit die Ergebnisse auf alle Worker verteilt werden.
partition_column
str
Name einer Spalte vom numerischen Typ, die für die Partitionierung verwendet wird.
Passwort
str
Passwort für die JDBC-Quelle.
read_query
str
SQL-Abfrage, die zum Abfragen der JDBC-Quelle verwendet wird.
Nutzername
str
Nutzername für die JDBC-Quelle.
POSTGRES Schreiben
Konfiguration
Typ
Beschreibung
jdbc_url
str
Verbindungs-URL für die JDBC-Senke.
Automatisches Sharding
boolean
Wenn „wahr“, wird eine dynamisch ermittelte Anzahl von Shards zum Schreiben verwendet.
batch_size
int64
–
connection_properties
str
Wird verwendet, um Verbindungseigenschaften festzulegen, die an den JDBC-Treiber übergeben werden und nicht bereits als eigenständiger Parameter definiert sind (z.B. können Nutzername und Passwort mit den oben genannten Parametern festgelegt werden). Das Format des Strings muss „key1=value1;key2=value2;“ sein.
Standort
str
Der Name der Tabelle, in die geschrieben werden soll.
Passwort
str
Passwort für die JDBC-Quelle.
Nutzername
str
Nutzername für die JDBC-Quelle.
write_statement
str
Die SQL-Abfrage, die zum Einfügen von Datensätzen in die JDBC-Senke verwendet wird.
MYSQL Lesen
Konfiguration
Typ
Beschreibung
jdbc_url
str
Verbindungs-URL für die JDBC-Quelle.
connection_init_sql
list[str]
Legt die SQL-Anweisungen für die Verbindungsinitialisierung fest, die vom Treiber verwendet werden. Wird nur von MySQL und MariaDB unterstützt.
connection_properties
str
Wird verwendet, um Verbindungseigenschaften festzulegen, die an den JDBC-Treiber übergeben werden und nicht bereits als eigenständiger Parameter definiert sind (z.B. können Nutzername und Passwort mit den oben genannten Parametern festgelegt werden). Das Format des Strings muss „key1=value1;key2=value2;“ sein.
disable_auto_commit
boolean
Gibt an, ob das automatische Committen beim Lesen deaktiviert werden soll. Wenn kein Wert angegeben ist, wird der Standardwert „true“ verwendet. Ob diese Konfiguration erforderlich ist, hängt von der Datenbankplattform ab. Bei Informix muss dieser Wert auf „false“ gesetzt sein, bei Postgres auf „true“.
fetch_size
int32
Mit dieser Methode wird die Größe der Daten überschrieben, die bei jedem Datenbankaufruf abgerufen und in den Arbeitsspeicher geladen werden. Sie sollte NUR verwendet werden, wenn der Standardwert Speicherfehler verursacht.
Standort
str
Der Name der Tabelle, aus der gelesen werden soll.
num_partitions
int32
Anzahl der Partitionen
output_parallelization
boolean
Gibt an, ob die resultierende PCollection neu gemischt werden soll, damit die Ergebnisse auf alle Worker verteilt werden.
partition_column
str
Name einer Spalte vom numerischen Typ, die für die Partitionierung verwendet wird.
Passwort
str
Passwort für die JDBC-Quelle.
read_query
str
SQL-Abfrage, die zum Abfragen der JDBC-Quelle verwendet wird.
Nutzername
str
Nutzername für die JDBC-Quelle.
MYSQL Schreiben
Konfiguration
Typ
Beschreibung
jdbc_url
str
Verbindungs-URL für die JDBC-Senke.
Automatisches Sharding
boolean
Wenn „wahr“, wird eine dynamisch ermittelte Anzahl von Shards zum Schreiben verwendet.
batch_size
int64
–
connection_init_sql
list[str]
Legt die SQL-Anweisungen für die Verbindungsinitialisierung fest, die vom Treiber verwendet werden. Wird nur von MySQL und MariaDB unterstützt.
connection_properties
str
Wird verwendet, um Verbindungseigenschaften festzulegen, die an den JDBC-Treiber übergeben werden und nicht bereits als eigenständiger Parameter definiert sind (z.B. können Nutzername und Passwort mit den oben genannten Parametern festgelegt werden). Das Format des Strings muss „key1=value1;key2=value2;“ sein.
Standort
str
Der Name der Tabelle, in die geschrieben werden soll.
Passwort
str
Passwort für die JDBC-Quelle.
Nutzername
str
Nutzername für die JDBC-Quelle.
write_statement
str
Die SQL-Abfrage, die zum Einfügen von Datensätzen in die JDBC-Senke verwendet wird.
SQLSERVER Lesen
Konfiguration
Typ
Beschreibung
jdbc_url
str
Verbindungs-URL für die JDBC-Quelle.
connection_properties
str
Wird verwendet, um Verbindungseigenschaften festzulegen, die an den JDBC-Treiber übergeben werden und nicht bereits als eigenständiger Parameter definiert sind (z.B. können Nutzername und Passwort mit den oben genannten Parametern festgelegt werden). Das Format des Strings muss „key1=value1;key2=value2;“ sein.
disable_auto_commit
boolean
Gibt an, ob das automatische Committen beim Lesen deaktiviert werden soll. Wenn kein Wert angegeben ist, wird der Standardwert „true“ verwendet. Ob diese Konfiguration erforderlich ist, hängt von der Datenbankplattform ab. Bei Informix muss dieser Wert auf „false“ gesetzt sein, bei Postgres auf „true“.
fetch_size
int32
Mit dieser Methode wird die Größe der Daten überschrieben, die bei jedem Datenbankaufruf abgerufen und in den Arbeitsspeicher geladen werden. Sie sollte NUR verwendet werden, wenn der Standardwert Speicherfehler verursacht.
Standort
str
Der Name der Tabelle, aus der gelesen werden soll.
num_partitions
int32
Anzahl der Partitionen
output_parallelization
boolean
Gibt an, ob die resultierende PCollection neu gemischt werden soll, damit die Ergebnisse auf alle Worker verteilt werden.
partition_column
str
Name einer Spalte vom numerischen Typ, die für die Partitionierung verwendet wird.
Passwort
str
Passwort für die JDBC-Quelle.
read_query
str
SQL-Abfrage, die zum Abfragen der JDBC-Quelle verwendet wird.
Nutzername
str
Nutzername für die JDBC-Quelle.
SQLSERVER Schreiben
Konfiguration
Typ
Beschreibung
jdbc_url
str
Verbindungs-URL für die JDBC-Senke.
Automatisches Sharding
boolean
Wenn „wahr“, wird eine dynamisch ermittelte Anzahl von Shards zum Schreiben verwendet.
batch_size
int64
–
connection_properties
str
Wird verwendet, um Verbindungseigenschaften festzulegen, die an den JDBC-Treiber übergeben werden und nicht bereits als eigenständiger Parameter definiert sind (z.B. können Nutzername und Passwort mit den oben genannten Parametern festgelegt werden). Das Format des Strings muss „key1=value1;key2=value2;“ sein.
Standort
str
Der Name der Tabelle, in die geschrieben werden soll.
Passwort
str
Passwort für die JDBC-Quelle.
Nutzername
str
Nutzername für die JDBC-Quelle.
write_statement
str
Die SQL-Abfrage, die zum Einfügen von Datensätzen in die JDBC-Senke verwendet wird.
Nächste Schritte
Weitere Informationen und Codebeispiele finden Sie in den folgenden Dokumenten:
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2026-04-11 (UTC)."],[],[]]