DataWorks Data Integration memungkinkan Anda menulis data ke Alibaba Cloud SelectDB melalui Sinkronisasi Offline tabel tunggal atau seluruh database. Topik ini menjelaskan fitur yang didukung dan proses konfigurasinya.
Versi SelectDB yang didukung
SelectDB Writer menggunakan MySQL Driver 5.1.47. Untuk informasi lebih lanjut mengenai 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
Penulisan 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 tersebut. 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.
Menggunakan koneksi jaringan pribadi: Kami merekomendasikan penggunaan koneksi jaringan pribadi karena menyediakan bandwidth lebih tinggi dan koneksi lebih stabil. Sebelum menggunakan koneksi jaringan pribadi, Anda harus membuat endpoint dengan mengikuti petunjuk dalam dokumentasi Network Configuration. Setelah endpoint dibuat dan statusnya berubah dari Creating menjadi Available, serta status koneksi berubah dari Connecting menjadi Connected, Anda juga harus bind VPC endpoint tersebut ke VPC kelompok sumber daya. Untuk informasi lebih lanjut mengenai operasi ini, lihat Network Connectivity Solution.
Koneksi melalui Internet: Anda harus menambahkan EIP kelompok sumber daya ke daftar putih SelectDB. Untuk informasi lebih lanjut mengenai konfigurasi ini, 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 privat didukung.
HTTP Connection Address: Masukkan titik akhir protokol HTTP. Anda dapat menyalin HTTP Protocol Endpoint dari bagian di Konsol SelectDB. IP publik maupun privat didukung.
Username: Masukkan username untuk gudang data SelectDB.
Password: Masukkan password untuk username yang ditentukan pada gudang data SelectDB.
Kembangkan task sinkronisasi data
Untuk informasi mengenai titik masuk dan prosedur konfigurasi task sinkronisasi, lihat panduan konfigurasi berikut.
Panduan konfigurasi task sinkronisasi offline untuk tabel tunggal
Untuk prosedurnya, lihat Konfigurasi task sinkronisasi offline menggunakan Antarmuka tanpa kode dan Konfigurasi task sinkronisasi offline menggunakan editor kode.
Untuk daftar lengkap parameter dan demo skrip untuk editor kode, lihat Lampiran: Demo skrip SelectDB dan deskripsi parameter.
Konfigurasi task sinkronisasi offline seluruh database
Sumber data yang didukung: MySQL dan PostgreSQL.
Untuk prosedurnya, lihat Konfigurasi task Sinkronisasi Offline Seluruh Database.
Lampiran: Demo skrip SelectDB dan deskripsi parameter
Konfigurasi task sinkronisasi batch menggunakan editor kode
Jika Anda ingin mengonfigurasi task sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip sesuai dengan persyaratan format skrip terpadu. Untuk informasi lebih lanjut, lihat Gunakan editor kode. 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 Plugin.
"parameter":
{
"postSql":// Pernyataan SQL yang akan dieksekusi setelah task sinkronisasi data dijalankan.
[],
"preSql":
[],// Pernyataan SQL yang akan dieksekusi sebelum task sinkronisasi data dijalankan.
"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 dalam 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 dijalankan. Antarmuka tanpa kode hanya mendukung satu pernyataan SQL. Editor kode mendukung beberapa pernyataan SQL. Misalnya, Anda dapat menghapus data lama dari tabel sebelum task dijalankan. | Tidak | Tidak ada |
postSql | Pernyataan SQL yang akan dieksekusi setelah task sinkronisasi data dijalankan. Antarmuka tanpa kode hanya mendukung satu pernyataan SQL. Editor kode mendukung beberapa pernyataan SQL. Misalnya, Anda dapat menambahkan timestamp setelah task dijalankan. | 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 suatu 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 suatu 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 terdiri dari | Tidak | datax_selectdb_writer_ |
loadProps | Parameter permintaan untuk COPY INTO terutama digunakan untuk mengonfigurasi format impor data. Secara default, data diimpor dalam format JSON. Jika parameter loadProps tidak ditentukan atau diatur ke Untuk mengimpor data dalam format CSV, Anda dapat menentukan format sebagai CSV dan mengonfigurasi pemisah baris dan 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 |