全部产品
Search
文档中心

DataWorks:Sumber Data AnalyticDB for MySQL 3.0

更新时间:Jul 02, 2025

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

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.

  • Anda dapat memilih kolom tertentu untuk dibaca.

  • Urutan kolom dapat diubah. Anda dapat membaca data dari kolom yang ditentukan dalam urutan yang berbeda dari yang ditentukan dalam skema tabel.

  • Konstanta didukung. Nama kolom harus diatur sesuai dengan sintaks SQL yang didukung oleh MySQL, seperti ["id", "`table`", "1", "'bazhen.csy'", "null", "to_char(a + 1)", "2.3" , "true"].

    • id: nama kolom.

    • table: nama kolom yang berisi kata kunci cadangan.

    • 1: konstanta integer.

    • bazhen.csy: konstanta string.

    • null: pointer null.

    • to_char(a + 1): ekspresi fungsi yang digunakan untuk menghitung panjang string.

    • 2.3: konstanta floating-point.

    • true: nilai Boolean.

  • Parameter column harus secara eksplisit menentukan semua kolom dari mana Anda ingin membaca data. Parameter ini tidak boleh dibiarkan kosong.

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.

  • Kami menyarankan Anda menyetel parameter splitPk ke nama kolom kunci utama tabel. Data dapat didistribusikan secara merata ke shard yang berbeda berdasarkan kolom kunci utama, bukan hanya terdistribusi intensif ke shard tertentu saja.

  • Parameter splitPk mendukung sharding untuk data hanya dari tipe data integer. Jika Anda menyetel parameter splitPk ke bidang tipe data yang tidak didukung, seperti string, floating point, atau tipe data tanggal, pengaturan parameter ini diabaikan, dan thread tunggal digunakan untuk membaca data.

  • Jika parameter splitPk tidak disediakan atau dibiarkan kosong, thread tunggal digunakan untuk membaca data.

Tidak

Tidak ada nilai default

where

Klausul WHERE. Misalnya, Anda dapat menyetel parameter ini ke gmt_create > $bizdate untuk membaca data yang dihasilkan pada hari saat ini.

  • Anda dapat menggunakan klausul WHERE untuk membaca data inkremental. Jika parameter where tidak disediakan atau dibiarkan kosong, AnalyticDB for MySQL 3.0 Reader membaca semua data.

  • Jangan menyetel parameter where ke limit 10. Nilai ini tidak sesuai dengan batasan MySQL pada klausa SQL WHERE.

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.

  • insert: Jika tidak ada konflik kunci utama atau konflik indeks unik, data langsung ditulis ke tabel tujuan. Jika terjadi konflik kunci utama atau konflik indeks unik, data yang ingin Anda tulis ke tabel tujuan secara otomatis diabaikan dan tidak ada pembaruan yang dilakukan.

  • replace: Jika tidak ada konflik kunci utama atau konflik indeks unik, data langsung ditulis ke tabel tujuan. Jika terjadi konflik kunci utama atau konflik indeks unik, baris yang berisi data konflik dihapus dan kemudian baris baru dimasukkan. Ini menunjukkan bahwa semua bidang baris asli diganti dengan baris baru.

  • update: Jika tidak ada konflik kunci utama atau konflik indeks unik, data langsung ditulis ke tabel tujuan. Jika terjadi konflik kunci utama atau konflik indeks unik, semua bidang baris asli diganti dengan baris baru.

    Catatan

    Mode ini hanya didukung dalam mode skrip.

Tidak

insert

column

Nama kolom ke mana Anda ingin menulis data. Pisahkan nama dengan koma (,), seperti "column": ["id", "name", "age"]. Jika Anda ingin menulis data ke semua kolom dalam tabel tujuan, atur parameter ini ke asterisk (*), seperti "column": ["*"].

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