DataWorks Data Integration memungkinkan Anda menulis data ke SelectDB melalui sinkronisasi offline satu tabel atau seluruh database. Topik ini menjelaskan kemampuan sinkronisasi data yang didukung.
Versi SelectDB yang didukung
SelectDB Writer menggunakan MySQL Driver 5.1.47. Untuk informasi lebih lanjut tentang kemampuan driver tersebut, lihat MySQL Connectors. Driver ini mendukung versi berikut:
Versi SelectDB Standar: 2.2.31 dan 2.2.22.
Versi Alibaba Cloud SelectDB: 2.4, 3.0, dan 4.0.
Batasan
Menulis data ke field dengan tipe BITMAP, HLL (HyperLogLog), atau QUANTILE_STATE tidak didukung.
Tipe field yang didukung
Untuk daftar lengkap tipe field setiap versi SelectDB, lihat dokumentasi resmi SelectDB. Tabel berikut mencantumkan tipe field yang didukung untuk SelectDB 2.2.22 sebagai contoh.
Tipe field SelectDB | Penulisan offline (SelectDB Writer) |
INT | Didukung |
BIGINT | Didukung |
LARGEINT | Didukung |
SMALLINT | Didukung |
TINYINT | Didukung |
BOOLEAN | Didukung |
DECIMAL | Didukung |
DOUBLE | Didukung |
FLOAT | Didukung |
CHAR | Didukung |
VARCHAR | Didukung |
STRING | Didukung |
DATE | Didukung |
DATEV2 | Didukung |
DATETIME | Didukung |
DATETIMEV2 | Didukung |
ARRAY | Didukung |
JSONB | Didukung |
BITMAP | Tidak didukung |
HLL (HyperLogLog) | Tidak didukung |
QUANTILE_STATE | Tidak didukung |
Persiapan
Sebelum melakukan sinkronisasi data di DataWorks, Anda harus menyiapkan lingkungan SelectDB seperti yang dijelaskan dalam topik ini. Hal ini memastikan layanan berjalan sebagaimana mestinya saat Anda mengonfigurasi dan menjalankan task sinkronisasi data SelectDB. Bagian berikut menjelaskan persiapan yang diperlukan.
Persiapan 1: Konfirmasi versi SelectDB
Data Integration memiliki persyaratan versi untuk SelectDB. Untuk informasi lebih lanjut, lihat Versi SelectDB yang didukung. Anda dapat memeriksa apakah versi SelectDB Anda memenuhi persyaratan di Konsol SelectDB.
Persiapan 2: Buat akun dan konfigurasi izin
Anda harus membuat akun SelectDB khusus agar DataWorks dapat mengakses sumber data. Jika Anda menggunakan user admin default dari gudang data SelectDB untuk login, Anda harus menetapkan password untuk user admin tersebut.
Persiapan 3: Konfigurasi konektivitas jaringan untuk SelectDB
SelectDB mendukung koneksi melalui jaringan pribadi atau Internet. Data Integration memungkinkan Anda terhubung ke SelectDB melalui kedua jenis jaringan tersebut.
-
Melalui koneksi jaringan pribadi: Metode ini direkomendasikan karena menyediakan bandwidth tinggi dan konektivitas stabil. Sebelum menggunakan koneksi jaringan pribadi, Anda harus membuat endpoint dengan mengikuti petunjuk dalam dokumen Network Configuration. Setelah status endpoint berubah dari Creating menjadi Available dan status koneksi berubah dari Connecting menjadi Connected, Anda juga harus bind VPC tempat endpoint berada ke VPC tempat kelompok sumber daya berada. Untuk informasi lebih lanjut, lihat Network Connectivity Solution.
Koneksi melalui Internet: Anda harus menambahkan EIP kelompok sumber daya ke daftar putih SelectDB. Untuk informasi lebih lanjut tentang konfigurasi tersebut, lihat Add a whitelist.
Tambahkan sumber data
Sebelum mengembangkan task sinkronisasi di DataWorks, Anda harus menambahkan sumber data yang diperlukan ke DataWorks dengan mengikuti petunjuk dalam Data source management. Anda dapat melihat deskripsi parameter di Konsol DataWorks untuk memahami arti parameter saat menambahkan sumber data.
Bagian berikut menjelaskan beberapa item konfigurasi untuk sumber data SelectDB:
MySQL Connection Address: Masukkan string koneksi Java Database Connectivity (JDBC). Anda dapat menyalin JDBC Connection String dari bagian di Konsol SelectDB. IP publik maupun IP privat didukung.
HTTP Connection Address: Masukkan titik akhir protokol HTTP. Anda dapat menyalin HTTP Protocol Endpoint dari bagian di Konsol SelectDB. IP publik maupun IP privat didukung.
-
Username: Masukkan username untuk gudang data SelectDB.
-
Password: Masukkan password untuk username yang ditentukan.
Kembangkan task sinkronisasi data
Untuk informasi tentang titik masuk dan prosedur mengonfigurasi task sinkronisasi, lihat panduan konfigurasi berikut.
Panduan mengonfigurasi task sinkronisasi offline untuk satu tabel
Untuk prosedurnya, lihat Configure an offline synchronization task using the codeless UI dan Configure an offline synchronization task using the code editor.
Untuk daftar lengkap parameter dan demo skrip untuk editor kode, lihat Appendix: SelectDB script demo and parameter description.
Konfigurasi sinkronisasi offline seluruh database
-
Sumber data yang didukung: MySQL dan PostgreSQL.
-
Untuk prosedurnya, lihat Mengonfigurasi Tugas Sinkronisasi Penuh Database Offline.
Lampiran: Demo skrip SelectDB dan deskripsi parameter
Konfigurasi task sinkronisasi batch menggunakan editor kode
Jika ingin mengonfigurasi task sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip berdasarkan persyaratan format skrip terpadu. Untuk informasi lebih lanjut, lihat Use the Code Editor. Informasi berikut menjelaskan parameter yang harus Anda konfigurasi untuk sumber data saat mengonfigurasi task sinkronisasi batch menggunakan editor kode.
Demo skrip Writer
{
"stepType": "selectdb",// Nama plug-in.
"parameter":
{
"postSql":// Pernyataan SQL yang akan dieksekusi setelah task sinkronisasi data berjalan.
[],
"preSql":
[],// Pernyataan SQL yang akan dieksekusi sebelum task sinkronisasi data berjalan.
"datasource":"selectdb_datasource",// Nama sumber data.
"table": "selectdb_table_name",// Nama tabel.
"column":
[
"id",
"table_id",
"table_no",
"table_name",
"table_status"
],
"loadProps":{
"format":"csv",// Menentukan format CSV.
"column_separator": "\\x01",// Menentukan pemisah kolom.
"line_delimiter": "\\x02"// Menentukan pemisah baris.
}
},
"name": "Writer",
"category": "writer"
}Parameter skrip Writer
Parameter | Deskripsi | Wajib | Nilai default |
|
datasource |
Nama sumber data. Editor kode mendukung penambahan sumber data. Nilai parameter ini harus sama dengan nama sumber data yang telah ditambahkan. |
Ya |
Tidak ada |
|
table |
Nama tabel yang ingin Anda sinkronkan. |
Ya |
Tidak ada |
|
column |
Kolom di tabel target tempat Anda ingin menulis data. Pisahkan nama kolom dengan koma (,). Contohnya, |
Ya |
Tidak ada |
|
preSql |
Pernyataan SQL yang akan dieksekusi sebelum task sinkronisasi data berjalan. Antarmuka tanpa kode hanya mendukung satu pernyataan SQL. Editor kode mendukung beberapa pernyataan SQL. Misalnya, Anda dapat menghapus data lama dari tabel sebelum task berjalan. |
Tidak |
Tidak ada |
|
postSql |
Pernyataan SQL yang akan dieksekusi setelah task sinkronisasi data berjalan. Antarmuka tanpa kode hanya mendukung satu pernyataan SQL. Editor kode mendukung beberapa pernyataan SQL. Misalnya, Anda dapat menambahkan timestamp setelah task berjalan. |
Tidak |
Tidak ada |
|
maxBatchRows |
Jumlah maksimum baris dalam setiap batch data yang akan diimpor. Parameter ini dan parameter batchSize mengontrol ukuran impor setiap batch. Ketika data dalam satu batch mencapai salah satu ambang batas tersebut, impor batch tersebut dimulai. |
Tidak |
500000 |
|
batchSize |
Volume data maksimum setiap batch data yang akan diimpor. Parameter ini dan parameter maxBatchRows mengontrol ukuran impor setiap batch. Ketika data dalam satu batch mencapai salah satu ambang batas tersebut, impor batch tersebut dimulai. |
Tidak |
94371840 |
|
maxRetries |
Jumlah percobaan ulang setelah impor batch data gagal. |
Tidak |
3 |
|
labelPrefix |
Awalan label untuk setiap file yang diunggah. Label akhir dibentuk oleh |
Tidak |
datax_selectdb_writer_ |
|
loadProps |
Parameter permintaan untuk COPY INTO, digunakan untuk mengonfigurasi format data impor. Secara default, data diimpor dalam format JSON. Jika
Untuk mengimpor data dalam format CSV, Anda dapat menentukan format sebagai CSV dan mengonfigurasi pemisah baris serta kolom, seperti pada contoh berikut. Jika Anda tidak menentukan pemisah baris dan kolom, semua data yang diimpor akan dikonversi menjadi string. Karakter tab (
|
Tidak |
Tidak ada |
|
clusterName |
Nama kluster SelectDB Cloud. Anda dapat melihat nama tersebut di Konsol SelectDB. |
Tidak |
Tidak ada |
|
flushInterval |
Interval waktu untuk menulis batch data, dalam milidetik. Jika nilai parameter maxBatchRows dan batchSize besar, sistem mungkin mengimpor data berdasarkan interval penulisan sebelum volume data yang ditentukan tercapai. |
Tidak |
30000 |