Sumber data AnalyticDB for MySQL 2.0 menyediakan saluran dua arah untuk membaca dan menulis data ke AnalyticDB for MySQL 2.0. Topik ini menjelaskan kemampuan sinkronisasi data yang disediakan oleh DataWorks untuk AnalyticDB for MySQL 2.0.
Batasan
Anda dapat membaca data dari views menggunakan sinkronisasi offline.
AnalyticDB for MySQL 2.0 Reader tidak mendukung tipe multivalue. Jika Anda menggunakan tipe multivalue, task sinkronisasi akan gagal.
Tipe field yang didukung
Baca offline
Tabel berikut mencantumkan pemetaan tipe data untuk AnalyticDB for MySQL 2.0 Reader.
Tipe AnalyticDB for MySQL 2.0 | Tipe DataX | Tipe MaxCompute |
BIGINT | LONG | BIGINT |
TINYINT | LONG | INT |
TIMESTAMP | DATE | DATETIME |
VARCHAR | STRING | STRING |
SMALLINT | LONG | INT |
INT | LONG | INT |
FLOAT | STRING | DOUBLE |
DOUBLE | STRING | DOUBLE |
DATE | DATE | DATETIME |
TIME | DATE | DATETIME |
Tulis offline
Tabel berikut mencantumkan pemetaan tipe data untuk AnalyticDB for MySQL 2.0 Writer.
Tipe | Tipe data AnalyticDB for MySQL 2.0 |
Integer | INT, TINYINT, SMALLINT, BIGINT |
Floating-point | FLOAT and DOUBLE |
String | VARCHAR |
Date and time | DATE and TIMESTAMP |
Boolean | BOOLEAN |
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 makna parameter saat menambahkan sumber data.
Kembangkan task sinkronisasi data
Untuk informasi mengenai titik masuk dan prosedur konfigurasi task sinkronisasi, lihat panduan konfigurasi berikut.
Konfigurasikan task sinkronisasi offline untuk satu tabel
Untuk informasi lebih lanjut, lihat Konfigurasikan task di antarmuka tanpa kode dan Konfigurasikan task di editor kode.
Untuk daftar lengkap parameter dan demo skrip untuk editor kode, lihat Lampiran: Demo skrip dan deskripsi parameter.
Konfigurasikan task sinkronisasi baca offline untuk seluruh database
Untuk informasi lebih lanjut, lihat Konfigurasikan task sinkronisasi real-time untuk seluruh database.
Lampiran: Demo skrip dan deskripsi parameter
Konfigurasikan task sinkronisasi batch menggunakan editor kode
Jika 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 Konfigurasikan task di editor kode. Informasi berikut menjelaskan parameter yang harus dikonfigurasi untuk sumber data saat mengonfigurasi task sinkronisasi batch menggunakan editor kode.
Demo skrip Reader
{
"type": "job",
"steps": [
{
"stepType": "ads",
"parameter": {
"datasource": "ads_demo",
"table": "th_test",
"column": [
"id",
"testtinyint",
"testbigint",
"testdate",
"testtime",
"testtimestamp",
"testvarchar",
"testdouble",
"testfloat"
],
"odps": {
"accessId": "<yourAccessKeyId>",
"accessKey": "<yourAccessKeySecret>",
"account": "*********@aliyun.com",
"odpsServer": " http://service.cn-shanghai-vpc.maxcompute.aliyun-inc.com/api",
"tunnelServer": "http://dt.cn-shanghai-vpc.maxcompute.aliyun-inc.com",
"accountType": "aliyun",
"project": "odps_test"
},
"mode": "ODPS"
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "stream",
"parameter": {},
"name": "Writer",
"category": "writer"
}
],
"version": "2.0",
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
},
"setting": {
"errorLimit": {
"record": ""
},
"speed": {
"concurrent": 2,
"throttle": true,// Jika throttle diatur ke false, parameter mbps tidak berlaku, artinya traffic tidak dikendalikan. Jika throttle diatur ke true, traffic dikendalikan.
"mbps":"12"// Pengendalian aliran. 1 mbps setara dengan 1 MB/s.
}
}
}Parameter skrip Reader
Parameter | Deskripsi | Wajib | Nilai default |
table | Nama tabel tempat data diekspor. | Ya | Tidak ada |
column | Nama kolom. Jika parameter ini tidak ditentukan, semua kolom dipilih. | Tidak | * |
limit | Jumlah maksimum catatan yang diekspor. | Tidak | Tidak ada |
where | Klausa WHERE untuk memfilter data. String ini langsung ditambahkan ke pernyataan kueri. Contoh: | Tidak | Tidak ada |
mode | Mode impor. Nilai yang valid adalah Select dan ODPS.
| Tidak | Select |
odps.accessKey | Diperlukan ketika `mode` adalah `ODPS`. Rahasia AccessKey dari Akun Alibaba Cloud yang digunakan AnalyticDB for MySQL 2.0 untuk mengakses ODPS. Akun tersebut harus memiliki izin Describe, Create, Select, Alter, Update, dan Drop. | Tidak | Tidak ada |
odps.accessId | Diperlukan ketika `mode` adalah `ODPS`. ID AccessKey dari Akun Alibaba Cloud yang digunakan AnalyticDB for MySQL 2.0 untuk mengakses ODPS. Akun tersebut harus memiliki izin Describe, Create, Select, Alter, Update, dan Drop. | Tidak | Tidak ada |
odps.odpsServer | Diperlukan ketika `mode` adalah `ODPS`. Titik akhir API ODPS. | Tidak | Tidak ada |
odps.tunnelServer | Diperlukan ketika `mode` adalah `ODPS`. Titik akhir ODPS Tunnel. | Tidak | Tidak ada |
odps.project | Diperlukan ketika `mode` adalah `ODPS`. Nama proyek ODPS. | Tidak | Tidak ada |
odps.accountType | Parameter ini berlaku ketika `mode` adalah `ODPS`. Jenis akun yang digunakan untuk mengakses ODPS. | Tidak | aliyun |
Demo skrip Writer
{
"type":"job",
"version":"2.0",
"steps":[
{
"stepType":"stream",
"parameter":{
"name":"Reader",
"category":"reader"
},
{
"stepType":"ads",// Nama plugin.
"parameter":{
"partition":"",// Nama partisi di tabel tujuan.
"datasource":"",// Sumber data.
"column":[// Bidang.
"id"
],
"writeMode":"insert",// Mode penulisan.
"batchSize":"256",// Jumlah catatan yang dikirim dalam satu batch.
"table":"",// Nama tabel.
"overWrite":"true",// Menentukan apakah data yang ada di tabel tujuan akan ditimpa. Nilai yang valid: true dan false. Nilai true berarti sistem akan menimpa data yang ada. Nilai false berarti sistem akan menambahkan data baru. Parameter ini hanya berlaku ketika writeMode diatur ke Load.
"options.ignoreEmptySource":true// Menentukan apakah kesalahan karena file sumber kosong diabaikan. Jika parameter ini diatur ke true, task tidak gagal. Nilai default: true. Jika Anda tidak mengonfigurasi parameter ini, nilai default true yang digunakan. Jika parameter ini diatur ke false dan data sumber tidak dapat dibaca, task gagal.
},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"// Jumlah catatan error yang diizinkan.
},
"speed":{
"throttle":true,// Jika throttle diatur ke false, parameter mbps tidak berlaku, artinya traffic tidak dikendalikan. Jika throttle diatur ke true, traffic dikendalikan.
"concurrent":1, // Jumlah job konkuren.
"mbps":"12"// Pengendalian aliran. 1 mbps setara dengan 1 MB/s.
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}Parameter skrip Writer
Parameter | Deskripsi | Wajib | Nilai default |
Connection URL | Informasi koneksi untuk AnalyticDB for MySQL 2.0. Format: Address:Port. | Ya | Tidak ada |
Database | Nama database AnalyticDB for MySQL 2.0. | Ya | Tidak ada |
Access Id | ID AccessKey untuk instans AnalyticDB for MySQL 2.0. | Ya | Tidak ada |
Access Key | Rahasia AccessKey untuk instans AnalyticDB for MySQL 2.0. | Ya | Tidak ada |
datasource | Nama sumber data. Editor kode mendukung penambahan sumber data. Nilai parameter ini harus sama dengan nama sumber data yang ditambahkan. | Ya | Tidak ada |
table | Nama tabel tujuan. | Ya | Tidak ada |
partition | Nama partisi di tabel tujuan. Parameter ini wajib jika tabel tujuan adalah tabel standar. | Tidak | Tidak ada |
writeMode | AnalyticDB for MySQL 2.0 Writer mendukung dua mode untuk mengimpor data ke AnalyticDB for MySQL 2.0.
| Ya | Tidak ada |
column | Daftar bidang di tabel tujuan. Anda dapat mengatur nilai ini ke ["*"] untuk menyertakan semua bidang, atau menentukan daftar bidang tertentu, seperti ["a", "b", "c"]. | Ya | Tidak ada |
suffix | Format URL AnalyticDB for MySQL 2.0 adalah | Tidak | Tidak ada |
batchSize | Jumlah catatan yang ditulis dalam satu batch. Parameter ini hanya berlaku ketika `writeMode` diatur ke `insert`. | Wajib ketika `writeMode` adalah `insert`. | Tidak ada |
bufferSize | Ukuran buffer pengumpulan data DataX. Data sumber pertama kali diurutkan dalam buffer ini lalu dikirim ke AnalyticDB for MySQL 2.0. Data diurutkan berdasarkan kolom kunci partisi tabel tujuan untuk meningkatkan performa pada server AnalyticDB for MySQL 2.0. Data dalam buffer dikirim ke AnalyticDB for MySQL 2.0 dalam batch sesuai dengan `batchSize`. Kami menyarankan agar Anda mengatur `bufferSize` ke nilai beberapa kali lipat dari `batchSize`. Parameter ini hanya berlaku ketika writeMode diatur ke `insert`. | Wajib ketika `writeMode` adalah `insert`. | Fitur ini dinonaktifkan secara default. |