I/O terkelola Dataflow untuk database

Dataflow mendukung pembacaan dari dan penulisan ke database menggunakan Java Database Connectivity (JDBC). Dataflow menggunakan konektor Apache Beam JdbcIO untuk terhubung ke sumber dan tujuan data JDBC. I/O Terkelola untuk Database mendukung driver JDBC standar untuk berbagai database, termasuk PostgreSQL, MySQL, dan Microsoft SQL Server.

Persyaratan

SDK berikut mendukung I/O terkelola untuk database:

  • Apache Beam SDK untuk Java versi 2.69.0 atau yang lebih baru
  • Apache Beam SDK untuk Python versi 2.69.0 atau yang lebih baru

Konfigurasi

I/O Terkelola untuk Database mendukung parameter konfigurasi berikut:

POSTGRES Baca

Konfigurasi Jenis Deskripsi
jdbc_url str URL koneksi untuk sumber JDBC.
connection_properties str Digunakan untuk menetapkan properti koneksi yang diteruskan ke driver JDBC yang belum ditentukan sebagai parameter mandiri (misalnya, nama pengguna dan sandi dapat ditetapkan menggunakan parameter di atas). Format string harus "key1=value1;key2=value2;".
fetch_size int32 Metode ini digunakan untuk mengganti ukuran data yang akan diambil dan dimuat dalam memori per setiap panggilan database. Parameter ini HANYA boleh digunakan jika nilai default memunculkan error memori.
lokasi str Nama tabel yang akan dibaca.
num_partitions int32 Jumlah partisi
output_parallelization boolean Apakah akan mengacak ulang PCollection yang dihasilkan sehingga hasil didistribusikan ke semua pekerja.
partition_column str Nama kolom jenis numerik yang akan digunakan untuk partisi.
sandi str Sandi untuk sumber JDBC.
read_query str Kueri SQL yang digunakan untuk membuat kueri sumber JDBC.
nama pengguna str Nama pengguna untuk sumber JDBC.

POSTGRES Menulis

Konfigurasi Jenis Deskripsi
jdbc_url str URL koneksi untuk sink JDBC.
sharding otomatis boolean Jika benar (true), memungkinkan penggunaan jumlah shard yang ditentukan secara dinamis untuk menulis.
batch_size int64 t/a
connection_properties str Digunakan untuk menetapkan properti koneksi yang diteruskan ke driver JDBC yang belum ditentukan sebagai parameter mandiri (misalnya, nama pengguna dan sandi dapat ditetapkan menggunakan parameter di atas). Format string harus "key1=value1;key2=value2;".
lokasi str Nama tabel yang akan ditulis.
sandi str Sandi untuk sumber JDBC.
nama pengguna str Nama pengguna untuk sumber JDBC.
write_statement str Kueri SQL yang digunakan untuk menyisipkan rekaman ke dalam sink JDBC.

MYSQL Baca

Konfigurasi Jenis Deskripsi
jdbc_url str URL koneksi untuk sumber JDBC.
connection_init_sql list[str] Menetapkan pernyataan SQL inisialisasi koneksi yang digunakan oleh Driver. Hanya MySQL dan MariaDB yang mendukungnya.
connection_properties str Digunakan untuk menetapkan properti koneksi yang diteruskan ke driver JDBC yang belum ditentukan sebagai parameter mandiri (misalnya, nama pengguna dan sandi dapat ditetapkan menggunakan parameter di atas). Format string harus "key1=value1;key2=value2;".
disable_auto_commit boolean Apakah akan menonaktifkan commit otomatis saat membaca. Nilai defaultnya adalah benar (true) jika tidak diberikan. Kebutuhan akan konfigurasi ini bervariasi, bergantung pada platform database. Informix mengharuskan setelan ini disetel ke salah (false), sedangkan Postgres mengharuskan setelan ini disetel ke benar (true).
fetch_size int32 Metode ini digunakan untuk mengganti ukuran data yang akan diambil dan dimuat dalam memori per setiap panggilan database. Parameter ini HANYA boleh digunakan jika nilai default memunculkan error memori.
lokasi str Nama tabel yang akan dibaca.
num_partitions int32 Jumlah partisi
output_parallelization boolean Apakah akan mengacak ulang PCollection yang dihasilkan sehingga hasil didistribusikan ke semua pekerja.
partition_column str Nama kolom jenis numerik yang akan digunakan untuk partisi.
sandi str Sandi untuk sumber JDBC.
read_query str Kueri SQL yang digunakan untuk membuat kueri sumber JDBC.
nama pengguna str Nama pengguna untuk sumber JDBC.

MYSQL Menulis

Konfigurasi Jenis Deskripsi
jdbc_url str URL koneksi untuk sink JDBC.
sharding otomatis boolean Jika benar (true), memungkinkan penggunaan jumlah shard yang ditentukan secara dinamis untuk menulis.
batch_size int64 t/a
connection_init_sql list[str] Menetapkan pernyataan SQL inisialisasi koneksi yang digunakan oleh Driver. Hanya MySQL dan MariaDB yang mendukungnya.
connection_properties str Digunakan untuk menetapkan properti koneksi yang diteruskan ke driver JDBC yang belum ditentukan sebagai parameter mandiri (misalnya, nama pengguna dan sandi dapat ditetapkan menggunakan parameter di atas). Format string harus "key1=value1;key2=value2;".
lokasi str Nama tabel yang akan ditulis.
sandi str Sandi untuk sumber JDBC.
nama pengguna str Nama pengguna untuk sumber JDBC.
write_statement str Kueri SQL yang digunakan untuk menyisipkan rekaman ke dalam sink JDBC.

SQLSERVER Baca

Konfigurasi Jenis Deskripsi
jdbc_url str URL koneksi untuk sumber JDBC.
connection_properties str Digunakan untuk menetapkan properti koneksi yang diteruskan ke driver JDBC yang belum ditentukan sebagai parameter mandiri (misalnya, nama pengguna dan sandi dapat ditetapkan menggunakan parameter di atas). Format string harus "key1=value1;key2=value2;".
disable_auto_commit boolean Apakah akan menonaktifkan commit otomatis saat membaca. Nilai defaultnya adalah benar (true) jika tidak diberikan. Kebutuhan akan konfigurasi ini bervariasi, bergantung pada platform database. Informix mengharuskan setelan ini disetel ke salah (false), sedangkan Postgres mengharuskan setelan ini disetel ke benar (true).
fetch_size int32 Metode ini digunakan untuk mengganti ukuran data yang akan diambil dan dimuat dalam memori per setiap panggilan database. Parameter ini HANYA boleh digunakan jika nilai default memunculkan error memori.
lokasi str Nama tabel yang akan dibaca.
num_partitions int32 Jumlah partisi
output_parallelization boolean Apakah akan mengacak ulang PCollection yang dihasilkan sehingga hasil didistribusikan ke semua pekerja.
partition_column str Nama kolom jenis numerik yang akan digunakan untuk partisi.
sandi str Sandi untuk sumber JDBC.
read_query str Kueri SQL yang digunakan untuk membuat kueri sumber JDBC.
nama pengguna str Nama pengguna untuk sumber JDBC.

SQLSERVER Menulis

Konfigurasi Jenis Deskripsi
jdbc_url str URL koneksi untuk sink JDBC.
sharding otomatis boolean Jika benar (true), memungkinkan penggunaan jumlah shard yang ditentukan secara dinamis untuk menulis.
batch_size int64 t/a
connection_properties str Digunakan untuk menetapkan properti koneksi yang diteruskan ke driver JDBC yang belum ditentukan sebagai parameter mandiri (misalnya, nama pengguna dan sandi dapat ditetapkan menggunakan parameter di atas). Format string harus "key1=value1;key2=value2;".
lokasi str Nama tabel yang akan ditulis.
sandi str Sandi untuk sumber JDBC.
nama pengguna str Nama pengguna untuk sumber JDBC.
write_statement str Kueri SQL yang digunakan untuk menyisipkan rekaman ke dalam sink JDBC.

Langkah berikutnya

Untuk mengetahui informasi dan contoh kode selengkapnya, lihat dokumen berikut: