Anda dapat menggunakan sumber data TiDB di DataWorks untuk membaca data secara batch. Topik ini menjelaskan kemampuan sinkronisasi data yang didukung untuk TiDB.
Versi TiDB yang didukung
-
Pembacaan data batch: TiDB 7.x dan 8.x didukung.
-
Penulisan data batch: Tidak didukung.
-
Pembacaan dan penulisan data real-time: Tidak didukung.
TiDB sangat kompatibel dengan protokol MySQL serta fitur-fitur umum dan sintaksis MySQL 5.7 dan MySQL 8.0. DataWorks menggunakan protokol MySQL untuk sinkronisasi data batch dari TiDB. Untuk informasi lebih lanjut mengenai kompatibilitas antara TiDB dan MySQL, lihat MySQL Compatibility.
Tipe data yang didukung
Untuk daftar lengkap tipe data TiDB, lihat Data Types. Tabel berikut mencantumkan dukungan untuk tipe data utama.
|
Type |
Pembacaan data batch (TiDB Reader) |
|
TINYINT |
Didukung |
|
SMALLINT |
Didukung |
|
MEDIUMINT |
Didukung |
|
INTEGER |
Didukung |
|
BIGINT |
Didukung |
|
FLOAT |
Didukung |
|
DOUBLE |
Didukung |
|
DECIMAL |
Didukung |
|
CHAR |
Didukung |
|
VARCHAR |
Didukung |
|
JSON |
Didukung |
|
TEXT |
Didukung |
|
TINYTEXT |
Didukung |
|
MEDIUMTEXT |
Didukung |
|
LONGTEXT |
Didukung |
|
VARBINARY |
Didukung |
|
BINARY |
Didukung |
|
BLOB |
Didukung |
|
TINYBLOB |
Didukung |
|
MEDIUMBLOB |
Didukung |
|
LONGBLOB |
Didukung |
|
ENUM |
Didukung |
|
SET |
Didukung |
|
BOOLEAN |
Didukung |
|
BIT |
Didukung |
|
DATE |
Didukung |
|
DATETIME |
Didukung |
|
TIMESTAMP |
Didukung |
|
TIME |
Didukung |
|
YEAR |
Didukung |
Siapkan lingkungan TiDB
Sebelum melakukan sinkronisasi data di DataWorks, siapkan lingkungan TiDB Anda seperti yang dijelaskan dalam bagian ini untuk memastikan tugas sinkronisasi data berjalan lancar.
Konfirmasi versi TiDB
Data Integration memerlukan TiDB 7.x atau 8.x. Pastikan versi TiDB Anda memenuhi persyaratan ini. Anda dapat menjalankan pernyataan berikut di database TiDB Anda untuk memeriksa versi saat ini.
SELECT TIDB_VERSION()\G
*************************** 1. row ***************************
TIDB_VERSION(): Release Version: v8.1.1
Edition: Community
Git Commit Hash: 821e491a20fbab36604b36b647b5bae26a2c1418
Git Branch: HEAD
UTC Build Time: 2024-08-27 19:16:25
GoVersion: go1.21.10
Race Enabled: false
Check Table Before Drop: false
Store: tikv
1 row in set (0.00 sec)
Konfigurasikan izin akun
Buat akun TiDB khusus untuk DataWorks mengakses sumber data dengan mengikuti langkah-langkah berikut:
-
(Opsional) Buat akun. Untuk informasi selengkapnya, lihat TiDB User Account Management.
-
Konfigurasikan izin.
Untuk pembacaan data batch dari TiDB, akun tersebut harus memiliki izin baca (
SELECT) pada tabel sumber.Anda dapat menjalankan perintah berikut untuk memberikan izin kepada akun, atau langsung memberikan izin
SUPER. Saat menjalankan pernyataan tersebut, ganti'sync_account'dengan nama akun Anda.-- CREATE USER 'sync_account'@'%' IDENTIFIED BY 'password'; // Membuat akun sinkronisasi dan menetapkan password. Akun ini dapat login dari host mana pun. '%' menunjukkan host apa pun. GRANT SELECT ON *.* TO 'sync_account'@'%'; // Memberikan izin SELECT pada semua database ke akun sinkronisasi.Sintaksis
*.*memberikan izin yang ditentukan pada semua tabel di semua database. Anda juga dapat memberikan izin hanya pada tabel tertentu di database target. Misalnya, untuk memberikan izin SELECT pada tabel user di database test, jalankan pernyataan berikut:GRANT SELECT ON test.user TO 'sync_account'@'%';.CatatanPernyataan
REPLICATION SLAVEmemberikan izin global dan tidak dapat diberikan pada tabel tertentu di suatu database.
Tambahkan sumber data
Sebelum mengembangkan tugas sinkronisasi di DataWorks, Anda harus menambahkan sumber data yang diperlukan ke DataWorks dengan mengikuti petunjuk dalam Data source configuration. Anda dapat melihat deskripsi parameter di Konsol DataWorks untuk memahami arti parameter saat menambahkan sumber data.
Lampiran: Contoh skrip dan 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 terpadu. Untuk informasi selengkapnya, lihat Script mode configuration. Informasi berikut menjelaskan parameter yang harus Anda konfigurasi untuk sumber data saat mengonfigurasi tugas sinkronisasi batch menggunakan editor kode.
Contoh skrip Reader
Kode berikut menyediakan contoh konfigurasi untuk reader:
Komentar dalam contoh JSON berikut hanya untuk tujuan penjelasan. Hapus komentar tersebut sebelum menjalankan tugas.
{
"type": "job",
"version": "2.0",
"steps":
[
{
"stepType": "tidb",
"parameter":
{
"column":
[
"id",
"name"
],
"where": "",
"splitPk": "id",
"connection":
[
{
"selectedDatabase": "test_database",
"datasource": "test_datasource",
"table":
[
"test_table"
]
}
]
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "odps",
"parameter":
{
},
"name": "Writer",
"category": "writer"
}
],
"setting":
{
"errorLimit":
{
"record": "0"
},
"speed":
{
"throttle": false,
"concurrent": 3
}
},
"order":
{
"hops":
[
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Parameter skrip Reader
|
Parameter |
Deskripsi |
Wajib |
Default |
|
datasource |
Harus sesuai dengan nama sumber data yang Anda konfigurasikan di DataWorks. |
Ya |
Tidak ada |
|
table |
Nama tabel sumber. Contoh berikut menunjukkan penggunaan advanced untuk mengonfigurasi rentang parameter ini:
|
Ya |
Tidak ada |
|
column |
Kolom tabel sumber yang akan disinkronkan, ditentukan sebagai array JSON. Untuk membaca semua kolom, gunakan
|
Ya |
Tidak ada |
|
splitPk |
Menentukan kolom yang digunakan untuk sharding data. Ini memungkinkan tugas paralel berjalan selama ekstraksi data, sehingga meningkatkan efisiensi sinkronisasi.
|
Tidak |
Tidak ada |
|
where |
Kondisi filter untuk data sumber. Ini sering digunakan untuk sinkronisasi inkremental. Misalnya, untuk menyinkronkan hanya data hari ini, atur kondisi menjadi
|
Tidak |
Tidak ada |