DataWorks menyediakan AnalyticDB for MySQL 2.0 Reader dan AnalyticDB for MySQL 2.0 Writer untuk membaca data dari dan menulis data ke sumber data AnalyticDB for MySQL 2.0. Topik ini menjelaskan kemampuan sinkronisasi data dari atau ke sumber data AnalyticDB for MySQL 2.0.
Batasan
Data dari tampilan dapat dibaca selama sinkronisasi batch.
AnalyticDB for MySQL 2.0 Reader tidak mendukung pembacaan data bertipe multivalue. Jika Anda mencoba membaca data jenis ini, AnalyticDB for MySQL 2.0 Reader akan berhenti secara tak terduga.
Pemetaan tipe data
Membaca data batch
Tabel berikut mencantumkan pemetaan tipe data yang digunakan oleh AnalyticDB for MySQL 2.0 Reader untuk mengonversi tipe data.
Tipe data AnalyticDB for MySQL 2.0 | Tipe data Data Integration | Tipe data 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 |
Menulis data batch
Tabel berikut mencantumkan pemetaan tipe data yang digunakan oleh AnalyticDB for MySQL 2.0 Writer untuk mengonversi tipe data.
Kategori | Tipe data AnalyticDB for MySQL 2.0 |
Integer | INT, TINYINT, SMALLINT, dan BIGINT |
Floating point | FLOAT dan DOUBLE |
String | VARCHAR |
Tanggal dan waktu | DATE dan TIMESTAMP |
Boolean | BOOLEAN |
Mengembangkan tugas sinkronisasi data
Untuk informasi tentang titik masuk dan prosedur konfigurasi tugas sinkronisasi data, lihat bagian berikut. Untuk detail pengaturan parameter, lihat infotip setiap parameter di tab konfigurasi tugas.
Menambahkan sumber data
Mengonfigurasi tugas sinkronisasi batch untuk menyinkronkan data tabel tunggal
Untuk detail prosedur konfigurasi, lihat Mengonfigurasi Tugas Sinkronisasi Batch Menggunakan Antarmuka Tanpa Kode dan Mengonfigurasi 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 pengaturan sinkronisasi untuk menerapkan sinkronisasi batch semua data dalam database
Untuk detail prosedur konfigurasi, lihat Mengonfigurasi Tugas Sinkronisasi di Data Integration.
Lampiran: Kode dan parameter
Lampiran: Mengonfigurasi tugas sinkronisasi batch menggunakan editor kode
Kode untuk AnalyticDB for MySQL 2.0 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,// Menentukan apakah akan mengaktifkan pembatasan laju. Nilai false menunjukkan bahwa pembatasan laju dinonaktifkan, dan nilai true menunjukkan bahwa pembatasan laju diaktifkan. Parameter mbps hanya berlaku ketika parameter throttle disetel ke true.
"mbps":"12"// Laju transmisi maksimum. Unit: MB/s.
}
}
}Parameter dalam kode untuk AnalyticDB for MySQL 2.0 Reader
Parameter | Deskripsi | Diperlukan | Nilai default |
table | Nama tabel dari mana Anda ingin membaca data. | Ya | Tidak ada nilai default |
column | Nama kolom. Jika parameter ini tidak ditentukan, semua kolom dibaca. | Tidak | * |
limit | Jumlah maksimum catatan yang dapat dibaca pada satu halaman. | Tidak | Tidak ada nilai default |
where | Klausa WHERE berdasarkan mana catatan data difilter. String yang ditentukan oleh parameter ini, seperti | Tidak | Tidak ada nilai default |
mode | Mode baca. Nilai valid:
| Tidak | Select |
odps.accessKey | Rahasia AccessKey akun Alibaba Cloud yang digunakan oleh AnalyticDB for MySQL 2.0 Reader untuk mengakses MaxCompute. Akun tersebut harus memiliki izin Describe, Create, Select, Alter, Update, dan Drop. Parameter ini diperlukan jika parameter mode disetel ke ODPS. | Tidak | Tidak ada nilai default |
odps.accessId | ID AccessKey akun Alibaba Cloud yang digunakan oleh AnalyticDB for MySQL 2.0 Reader untuk mengakses MaxCompute. Akun tersebut harus memiliki izin Describe, Create, Select, Alter, Update, dan Drop. Parameter ini diperlukan jika parameter mode disetel ke ODPS. | Tidak | Tidak ada nilai default |
odps.odpsServer | Titik akhir API MaxCompute. Parameter ini diperlukan jika parameter mode disetel ke ODPS. | Tidak | Tidak ada nilai default |
odps.tunnelServer | Titik akhir MaxCompute Tunnel. Parameter ini diperlukan jika parameter mode disetel ke ODPS. | Tidak | Tidak ada nilai default |
odps.project | Nama proyek MaxCompute. Parameter ini diperlukan jika parameter mode disetel ke ODPS. | Tidak | Tidak ada nilai default |
odps.accountType | Tipe akun yang digunakan untuk mengakses MaxCompute. Parameter ini diperlukan jika parameter mode disetel ke ODPS. | Tidak | aliyun |
Kode untuk AnalyticDB for MySQL 2.0 Writer
{
"type":"job",
"version":"2.0",
"steps":[
{
"stepType":"stream",
"parameter":{
"name":"Reader",
"category":"reader"
},
{
"stepType":"ads",// Nama plugin.
"parameter":{
"partition":"",// Nama partisi ke mana Anda ingin menulis data.
"datasource":"",// Nama sumber data.
"column":[// Nama kolom.
"id"
],
"writeMode":"insert",// Mode penulisan.
"batchSize":"256",// Jumlah catatan data yang ditulis sekaligus.
"table":"",// Nama tabel.
"overWrite":"true"// Menentukan apakah akan menimpa data di tabel tujuan. Nilai true menunjukkan bahwa data di tabel tujuan ditimpa. Nilai false menunjukkan bahwa data di tabel tujuan tidak ditimpa dan data baru ditambahkan ke data yang sudah ada. Parameter ini hanya berlaku ketika parameter writeMode disetel ke load.
"options.ignoreEmptySource":true// Menentukan apakah sistem melaporkan kesalahan jika sumber tidak berisi data. Nilai true menunjukkan bahwa sistem tidak melaporkan kesalahan, dan nilai false menunjukkan bahwa sistem melaporkan kesalahan. Nilai default parameter ini adalah true.
},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"// Jumlah maksimum catatan data kotor yang diizinkan.
},
"speed":{
"throttle":true,// Menentukan apakah akan mengaktifkan pembatasan laju. Nilai false menunjukkan bahwa pembatasan laju dinonaktifkan, dan nilai true menunjukkan bahwa pembatasan laju 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.
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}Parameter dalam kode untuk AnalyticDB for MySQL 2.0 Writer
Parameter | Deskripsi | Diperlukan | Nilai default |
url | URL yang digunakan untuk terhubung ke database AnalyticDB for MySQL 2.0. Tentukan parameter ini dalam format Alamat IP:Port. | Ya | Tidak ada nilai default |
database | Nama database AnalyticDB for MySQL 2.0. | Ya | Tidak ada nilai default |
Access Id | ID AccessKey yang digunakan untuk terhubung ke database AnalyticDB for MySQL 2.0. | Ya | Tidak ada nilai default |
Access Key | Rahasia AccessKey yang digunakan untuk terhubung ke database AnalyticDB for MySQL 2.0. | Ya | Tidak ada 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 |
partition | Nama partisi ke mana Anda ingin menulis data. Parameter ini hanya diperlukan ketika tabel tujuan adalah tabel terpartisi. | Tidak | Tidak ada nilai default |
writeMode | AnalyticDB for MySQL 2.0 Writer dapat digunakan untuk menulis data ke database AnalyticDB for MySQL 2.0 dalam dua mode.
| Ya | Tidak ada nilai default |
column | Nama kolom ke mana Anda ingin menulis data. Pisahkan nama dengan koma (,), seperti ["a", "b", "c"]. | Ya | Tidak ada nilai default |
suffix | Opsional. Akhiran untuk URL AnalyticDB for MySQL 2.0 yang dalam format | Tidak | Tidak ada nilai default |
batchSize | Jumlah catatan data yang ditulis sekaligus. | Parameter ini hanya diperlukan ketika parameter writeMode disetel ke insert. | Tidak ada nilai default |
bufferSize | Ukuran buffer data Data Integration, yang dirancang untuk meningkatkan kinerja AnalyticDB for MySQL 2.0. Data sumber diurutkan dalam buffer sebelum data dikomit ke AnalyticDB for MySQL 2.0. Data dalam buffer diurutkan berdasarkan kolom kunci partisi dalam tabel AnalyticDB for MySQL 2.0. Dengan cara ini, data diatur dalam urutan yang dapat meningkatkan kinerja server AnalyticDB for MySQL 2.0. Data dalam buffer dikomit ke AnalyticDB for MySQL 2.0 secara batch berdasarkan nilai parameter batchSize. Kami menyarankan Anda untuk menyetel parameter bufferSize ke nilai yang merupakan kelipatan dari nilai parameter batchSize. Parameter ini hanya berlaku ketika parameter writeMode disetel ke insert. | Parameter ini hanya diperlukan ketika parameter writeMode disetel ke insert. | Tidak ada nilai default |