Anda dapat menggunakan SelectDB Writer di DataWorks Data Integration untuk mengimpor data ke dalam tabel SelectDB. Topik ini menjelaskan kemampuan sinkronisasi data DataWorks untuk SelectDB.
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 SelectDB Alibaba Cloud: 2.4, 3.0, dan 4.0.
Keterbatasan
Data Integration hanya mendukung penulisan offline ke SelectDB.
Penulisan data ke bidang tipe BITMAP, HLL (HyperLogLog), atau QUANTILE_STATE tidak didukung.
Jenis bidang yang didukung
Untuk daftar lengkap jenis bidang untuk setiap versi SelectDB, lihat dokumentasi resmi SelectDB. Tabel berikut mencantumkan jenis bidang yang didukung untuk SelectDB 2.2.22 sebagai contoh.
Tipe bidang 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 menyinkronkan data di DataWorks, Anda harus menyiapkan lingkungan SelectDB seperti yang dijelaskan dalam topik ini. Hal ini memastikan bahwa layanan berjalan sesuai harapan saat Anda mengonfigurasi dan menjalankan tugas 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 konfigurasikan izin
Anda harus membuat akun SelectDB khusus untuk DataWorks agar dapat mengakses sumber data. Jika Anda menggunakan pengguna admin default dari gudang data SelectDB untuk masuk, Anda harus menetapkan kata sandi untuk pengguna admin.
Persiapan 3: Konfigurasikan konektivitas jaringan untuk SelectDB
SelectDB mendukung koneksi melalui jaringan pribadi atau Internet. Data Integration memungkinkan Anda terhubung ke SelectDB melalui salah satu jenis jaringan tersebut.
Terhubung melalui jaringan pribadi: Koneksi jaringan pribadi memberikan bandwidth yang lebih tinggi dan koneksi yang lebih stabil. Kami merekomendasikan metode ini. Sebelum menggunakan koneksi jaringan pribadi, Anda harus membuat titik akhir seperti yang dijelaskan dalam dokumen Pengaturan Jaringan. Setelah titik akhir dibuat, statusnya berubah dari Creating menjadi Available, dan status koneksi berubah dari Connecting menjadi Connected. Anda harus menyambungkan VPC tempat titik akhir berada ke VPC kelompok sumber daya. Untuk informasi lebih lanjut, lihat Solusi konektivitas jaringan.
Terhubung melalui Internet: Anda harus menambahkan EIP kelompok sumber daya ke daftar putih SelectDB. Untuk informasi lebih lanjut tentang konfigurasi, lihat Tambahkan daftar putih.
Tambahkan sumber data
Sebelum mengembangkan tugas sinkronisasi di DataWorks, Anda harus menambahkan sumber data yang diperlukan ke DataWorks dengan mengikuti petunjuk di Manajemen Sumber Data. Anda dapat melihat tip info parameter di Konsol DataWorks untuk memahami arti parameter saat Anda 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 dan pribadi didukung.
HTTP Connection Address: Masukkan endpoint protokol HTTP. Anda dapat menyalin HTTP Protocol Endpoint dari bagian di Konsol SelectDB. IP publik dan pribadi didukung.
Username: Masukkan nama pengguna untuk gudang data SelectDB.
Password: Masukkan kata sandi untuk nama pengguna yang ditentukan dari gudang data SelectDB.
Mengembangkan tugas sinkronisasi data
Untuk informasi tentang titik masuk dan prosedur konfigurasi tugas sinkronisasi, lihat panduan konfigurasi berikut.
Panduan konfigurasi tugas sinkronisasi offline untuk tabel tunggal
Untuk prosedurnya, lihat Konfigurasikan Tugas Sinkronisasi Offline Menggunakan Antarmuka Tanpa Kode dan Konfigurasikan Tugas Sinkronisasi Offline Menggunakan Editor Kode.
Untuk daftar lengkap parameter dan demo skrip untuk editor kode, lihat Lampiran: Demo Skrip SelectDB dan Deskripsi Parameter.
Lampiran: Demo skrip SelectDB dan deskripsi parameter
Konfigurasikan tugas sinkronisasi batch menggunakan editor kode
Jika Anda ingin mengonfigurasi tugas sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip berdasarkan persyaratan format skrip seragam. Untuk informasi lebih lanjut, lihat Konfigurasikan Tugas di Editor Kode. Informasi berikut menjelaskan parameter yang harus Anda konfigurasikan untuk sumber data saat Anda mengonfigurasi tugas sinkronisasi batch menggunakan editor kode.
Demo skrip Writer
{
"stepType": "selectdb",// Nama plugin.
"parameter":
{
"postSql":// Pernyataan SQL yang akan dieksekusi setelah tugas sinkronisasi data berjalan.
[],
"preSql":
[],// Pernyataan SQL yang akan dieksekusi sebelum tugas 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 | Diperlukan | 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 ke mana Anda ingin menulis data. Pisahkan nama kolom dengan koma (,). Contohnya, | Ya | Tidak ada |
preSql | Pernyataan SQL yang akan dieksekusi sebelum tugas sinkronisasi data berjalan. Antarmuka tanpa kode hanya mendukung satu pernyataan SQL. Editor kode mendukung beberapa pernyataan SQL. Contohnya, Anda dapat membersihkan data lama dari sebuah tabel sebelum tugas berjalan. | Tidak | Tidak ada |
postSql | Pernyataan SQL yang akan dieksekusi setelah tugas sinkronisasi data berjalan. Antarmuka tanpa kode hanya mendukung satu pernyataan SQL. Editor kode mendukung beberapa pernyataan SQL. Contohnya, Anda dapat menambahkan timestamp setelah tugas 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 batch mencapai salah satu ambang batas, impor batch tersebut dimulai. | Tidak | 500000 |
batchSize | Volume data maksimum dari setiap batch data yang akan diimpor. Parameter ini dan parameter maxBatchRows mengontrol ukuran impor setiap batch. Ketika data dalam batch mencapai salah satu ambang batas, impor batch tersebut dimulai. | Tidak | 94371840 |
maxRetries | Jumlah percobaan ulang setelah batch data gagal diimpor. | Tidak | 3 |
labelPrefix | Awalan label untuk setiap file yang diunggah. Label akhir terdiri dari | Tidak | datax_selectdb_writer_ |
loadProps | Parameter permintaan untuk COPY INTO. Parameter ini terutama digunakan untuk mengonfigurasi format data yang diimpor. Secara default, data diimpor dalam format JSON. Jika loadProps tidak dikonfigurasi atau disetel ke Untuk mengimpor data dalam format CSV, Anda dapat menentukan format sebagai CSV dan mengonfigurasi pemisah baris dan kolom, seperti yang ditunjukkan dalam 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 |