DataWorks menyediakan AnalyticDB for MySQL 3.0 Reader dan AnalyticDB for MySQL 3.0 Writer untuk membaca dan menulis data ke sumber data AnalyticDB for MySQL 3.0. Topik ini menjelaskan kemampuan menyinkronkan data dari atau ke sumber data tersebut.
Batasan
Sumber data AnalyticDB for MySQL 3.0 edisi danau data tidak dapat terhubung ke grup sumber daya bersama dan tidak dapat digunakan untuk tugas sinkronisasi.
Jika Anda beralih dari menggunakan instance AnalyticDB for MySQL 3.0 edisi gudang data ke edisi danau data, tugas sinkronisasi yang menggunakan instance tersebut dan dijalankan pada grup sumber daya bersama mungkin gagal. Oleh karena itu, disarankan untuk memeriksa apakah tugas sinkronisasi berjalan pada grup sumber daya bersama. Jika ada, ganti dengan grup sumber daya eksklusif untuk menjalankan tugas tersebut.
Data dari Tampilan dapat dibaca selama sinkronisasi batch.
Pemetaan Tipe Data
Pembacaan Data Batch
Tabel berikut mencantumkan pemetaan tipe data yang digunakan oleh AnalyticDB for MySQL 3.0 Reader untuk mengonversi tipe data.
Kategori | Tipe Data AnalyticDB for MySQL 3.0 |
Integer | INT, INTEGER, TINYINT, SMALLINT, dan BIGINT |
Floating point | FLOAT, DOUBLE, dan DECIMAL |
String | VARCHAR |
Tanggal dan waktu | DATE, DATETIME, TIMESTAMP, dan TIME |
Boolean | BOOLEAN |
Penulisan Data Batch
Tabel berikut mencantumkan pemetaan tipe data yang digunakan oleh AnalyticDB for MySQL 3.0 Writer untuk mengonversi tipe data.
Kategori | Tipe Data AnalyticDB for MySQL 3.0 |
Integer | INT, INTEGER, TINYINT, SMALLINT, dan BIGINT |
Floating point | FLOAT, DOUBLE, dan DECIMAL |
String | VARCHAR |
Tanggal dan waktu | DATE, DATETIME, TIMESTAMP, dan TIME |
Boolean | BOOLEAN |
Mengembangkan Tugas Sinkronisasi Data
Untuk informasi tentang titik masuk dan prosedur konfigurasi tugas sinkronisasi data, lihat bagian berikut. Untuk pengaturan parameter, lihat infotip setiap parameter pada tab konfigurasi tugas.
Menambahkan Sumber Data
Sebelum mengonfigurasi tugas sinkronisasi data untuk menyinkronkan data dari atau ke sumber data tertentu, Anda harus menambahkan sumber data ke DataWorks. Untuk informasi lebih lanjut, lihat Tambahkan dan kelola sumber data.
Mengonfigurasi Tugas Sinkronisasi Batch untuk Menyinkronkan Data dari Satu Tabel
Untuk informasi lebih lanjut tentang prosedur konfigurasi, lihat Konfigurasikan tugas sinkronisasi batch menggunakan UI tanpa kode dan Konfigurasikan tugas sinkronisasi batch menggunakan editor kode.
Untuk informasi tentang semua parameter yang dikonfigurasi dan kode yang dijalankan saat menggunakan editor kode untuk mengonfigurasi tugas sinkronisasi batch, lihat Lampiran: Kode dan parameter.
Mengonfigurasi Tugas Sinkronisasi Real-time untuk Menyinkronkan Data dari Satu Tabel atau Basis Data
Untuk informasi lebih lanjut tentang prosedur konfigurasi, lihat Konfigurasikan tugas sinkronisasi real-time di DataStudio.
Mengonfigurasi Pengaturan Sinkronisasi untuk Mengimplementasikan Sinkronisasi Batch Semua Data dalam Basis Data atau Sinkronisasi Real-time Data Penuh dan Inkremental dalam Satu Tabel atau Basis Data
Untuk informasi lebih lanjut tentang prosedur konfigurasi, lihat Konfigurasikan tugas sinkronisasi di Data Integration.
Lampiran: Kode dan Parameter
Lampiran: Konfigurasikan Tugas Sinkronisasi Batch Menggunakan Editor Kode
Kode untuk AnalyticDB for MySQL 3.0 Reader
{
"type": "job",
"steps": [
{
"stepType": "analyticdb_for_mysql", // Nama plugin.
"parameter": {
"column": [ // Nama kolom.
"id",
"value",
"table"
],
"connection": [
{
"datasource": "xxx", // Nama sumber data.
"table": [ // Nama tabel.
"xxx"
]
}
],
"where": "", // Klausul WHERE.
"splitPk": "", // Kunci shard.
"encoding": "UTF-8" // Format encoding.
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "stream",
"parameter": {},
"name": "Writer",
"category": "writer"
}
],
"version": "2.0",
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
},
"setting": {
"errorLimit": {
"record": "0" // Jumlah maksimum catatan data kotor yang diizinkan.
},
"speed": {
"throttle":true,// Menentukan apakah akan mengaktifkan throttling. Nilai false menunjukkan bahwa throttling dinonaktifkan, dan nilai true menunjukkan bahwa throttling diaktifkan. Parameter mbps hanya berlaku ketika parameter throttle disetel ke true.
"concurrent":1 // Jumlah maksimum thread paralel.
"mbps":"12"// Laju transmisi maksimum. Unit: MB/s.
}
}
}Parameter dalam Kode untuk AnalyticDB for MySQL 3.0 Reader
Parameter | Deskripsi | Diperlukan | Nilai Default |
datasource | Nama sumber data. Harus sama dengan nama sumber data yang telah ditambahkan. Anda dapat menambahkan sumber data menggunakan editor kode. | Ya | Tidak ada nilai default |
table | Nama tabel dari mana Anda ingin membaca data. | Ya | Tidak ada nilai default |
column | Nama kolom dari mana Anda ingin membaca data. Kolom ditentukan dalam array JSON. Nilai default adalah [*], yang menunjukkan semua kolom.
| Ya | Tidak ada nilai default |
splitPk | Bidang yang digunakan untuk sharding data saat AnalyticDB for MySQL 3.0 Reader membaca data. Jika Anda menentukan parameter ini, tabel sumber di-shard berdasarkan nilai parameter ini. Data Integration kemudian menjalankan thread paralel untuk membaca data. Dengan cara ini, data dapat disinkronkan lebih efisien.
| Tidak | Tidak ada nilai default |
where | Klausul WHERE. Misalnya, Anda dapat menyetel parameter ini ke
| Tidak | Tidak ada nilai default |
Kode untuk AnalyticDB for MySQL 3.0 Writer
{
"type": "job",
"steps": [
{
"stepType": "stream",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "analyticdb_for_mysql", // Nama plugin.
"parameter": {
"postSql": [], // Pernyataan SQL yang ingin Anda jalankan setelah tugas sinkronisasi dijalankan.
"tableType": null, // Bidang cadangan. Nilai default: null.
"datasource": "hangzhou_ads", // Nama sumber data.
"column": [ // Nama kolom.
"id",
"value"
],
"guid": null,
"writeMode": "insert", // Mode penulisan. Untuk informasi lebih lanjut, lihat deskripsi parameter writeMode.
"batchSize": 2048, // Jumlah catatan data yang ditulis sekaligus. Untuk informasi lebih lanjut, lihat deskripsi parameter batchSize.
"encoding": "UTF-8", // Format encoding.
"table": "t5", // Nama tabel ke mana Anda ingin menulis data.
"preSql": [] // Pernyataan SQL yang ingin Anda jalankan sebelum tugas sinkronisasi dijalankan.
},
"name": "Writer",
"category": "writer"
}
],
"version": "2.0", // Nomor versi.
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
},
"setting": {
"errorLimit": {
"record": "0" // Jumlah maksimum catatan data kotor yang diizinkan.
},
"speed": {
"throttle":true,// Menentukan apakah akan mengaktifkan throttling. Nilai false menunjukkan bahwa throttling dinonaktifkan, dan nilai true menunjukkan bahwa throttling diaktifkan. Parameter mbps hanya berlaku ketika parameter throttle disetel ke true.
"concurrent":2, // Jumlah maksimum thread paralel.
"mbps":"12"// Laju transmisi maksimum. Unit: MB/s.
}
}
}Parameter dalam Kode untuk AnalyticDB for MySQL 3.0 Writer
Parameter | Deskripsi | Diperlukan | Nilai Default |
datasource | Nama sumber data. Harus sama dengan nama sumber data yang telah ditambahkan. Anda dapat menambahkan sumber data menggunakan editor kode. | Ya | Tidak ada nilai default |
table | Nama tabel ke mana Anda ingin menulis data. | Ya | Tidak ada nilai default |
writeMode | Mode penulisan. Nilai valid: insert, replace, dan update.
| Tidak | insert |
column | Nama kolom ke mana Anda ingin menulis data. Pisahkan nama dengan koma (,), seperti Catatan Jika nama kolom berisi select, tutup nama kolom dengan backticks (`). Contohnya, item_select_no disajikan sebagai `item_select_no`. | Ya | Tidak ada nilai default |
preSql | Pernyataan SQL yang ingin Anda jalankan sebelum tugas sinkronisasi dijalankan. Misalnya, Anda dapat menyetel parameter ini ke pernyataan SQL yang digunakan untuk menghapus data lama. Anda hanya dapat menjalankan satu pernyataan SQL pada UI tanpa kode dan beberapa pernyataan SQL di editor kode. Catatan Jika Anda menentukan beberapa pernyataan SQL, pernyataan tersebut tidak dijalankan dalam transaksi yang sama. | Tidak | Tidak ada nilai default |
postSql | Pernyataan SQL yang ingin Anda jalankan setelah tugas sinkronisasi dijalankan. Misalnya, Anda dapat menyetel parameter ini ke pernyataan SQL yang digunakan untuk menambahkan timestamp. Anda hanya dapat menjalankan satu pernyataan SQL pada UI tanpa kode dan beberapa pernyataan SQL di editor kode. Catatan Jika Anda menentukan beberapa pernyataan SQL, pernyataan tersebut tidak dijalankan dalam transaksi yang sama. | Tidak | Tidak ada nilai default |
batchSize | Jumlah catatan data yang ditulis sekaligus. Atur parameter ini ke nilai yang sesuai berdasarkan kebutuhan bisnis Anda. Ini sangat mengurangi interaksi antara Data Integration dan AnalyticDB for MySQL 3.0 serta meningkatkan throughput. Jika Anda menyetel parameter ini ke nilai yang terlalu besar, kesalahan out of memory (OOM) mungkin terjadi selama sinkronisasi data. | Tidak | 1.024 |