全部产品
Search
文档中心

DataWorks:Sumber data AnalyticDB for MySQL 3.0

更新时间:Mar 07, 2026

Sumber data AnalyticDB for MySQL 3.0 memungkinkan Anda membaca dan menulis data ke AnalyticDB for MySQL 3.0. Topik ini menjelaskan kemampuan sinkronisasi data DataWorks untuk AnalyticDB for MySQL 3.0.

Batasan

  • Anda tidak dapat mengonfigurasi atau menjalankan tugas sinkronisasi untuk sumber data edisi danau data terpadu (data lakehouse) pada kelompok resource yang dibagikan.

  • Jika Anda mengubah instans AnalyticDB for MySQL dari edisi gudang data (data warehouse) ke edisi danau data terpadu (data lakehouse), tugas sinkronisasi yang menggunakan sumber data ini dan dijalankan pada kelompok resource yang dibagikan akan gagal. Sebelum mengubah edisi instans, periksa tugas-tugas tersebut dan konfigurasikan ulang agar dijalankan pada kelompok resource Serverless (disarankan) atau kelompok resource Data Integration eksklusif.

  • Sinkronisasi Batch mendukung pembacaan dari views.

Tipe data yang didukung

Pembacaan batch

Reader AnalyticDB for MySQL 3.0 mendukung tipe data berikut.

Tipe

Tipe data AnalyticDB for MySQL 3.0

Tipe integer

INT, INTEGER, TINYINT, SMALLINT, dan BIGINT

Tipe bilangan titik mengambang

FLOAT, DOUBLE, dan DECIMAL

Tipe string

VARCHAR

Tipe tanggal dan waktu

DATE, DATETIME, TIMESTAMP, dan TIME

Tipe Boolean

BOOLEAN

Penulisan batch

Writer AnalyticDB for MySQL 3.0 mendukung tipe data berikut.

Type

Tipe data AnalyticDB for MySQL 3.0

Tipe integer

INT, INTEGER, TINYINT, SMALLINT, dan BIGINT

Tipe bilangan titik mengambang

FLOAT, DOUBLE, dan DECIMAL

Tipe string

VARCHAR

Tipe tanggal dan waktu

DATE, DATETIME, TIMESTAMP, dan TIME

Tipe Boolean

BOOLEAN

Tambahkan sumber data

Sebelum mengembangkan tugas sinkronisasi di DataWorks, Anda harus menambahkan sumber data yang diperlukan ke DataWorks dengan mengikuti petunjuk dalam Manajemen sumber data. Anda dapat melihat penjelasan parameter di Konsol DataWorks untuk memahami arti parameter saat menambahkan sumber data.

Kembangkan tugas sinkronisasi data

Untuk informasi mengenai titik masuk dan prosedur konfigurasi tugas sinkronisasi, lihat panduan konfigurasi berikut.

Konfigurasikan tugas sinkronisasi batch tabel tunggal

Konfigurasikan tugas sinkronisasi real-time tabel tunggal

Untuk petunjuknya, lihat Konfigurasikan tugas sinkronisasi real-time tabel tunggal.

Konfigurasikan sinkronisasi batch seluruh database

Untuk petunjuknya, lihat Konfigurasikan tugas sinkronisasi batch seluruh database.

Konfigurasikan sinkronisasi real-time seluruh database

Untuk petunjuknya, lihat Konfigurasikan tugas sinkronisasi real-time seluruh database.

Lampiran: Contoh skrip dan parameter

Konfigurasikan tugas sinkronisasi batch menggunakan editor kode

Jika ingin mengonfigurasi tugas sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip sesuai persyaratan format skrip terpadu. Untuk informasi lebih lanjut, lihat Gunakan editor kode. Informasi berikut menjelaskan parameter yang harus dikonfigurasi untuk sumber data saat mengonfigurasi tugas sinkronisasi batch menggunakan editor kode.

Contoh skrip Reader

{
  "type": "job",
  "steps": [
    { 
      "stepType": "analyticdb_for_mysql", // Nama plugin.
      "parameter": {
        "column": [ // Kolom yang akan dibaca.
          "id",
          "value",
          "table"
        ],
        "connection": [
          {
            "datasource": "xxx", // Nama sumber data.
            "table": [ // Nama tabel.
              "xxx"
            ]
          }
        ],
        "where": "", // Kondisi filter.
        "splitPk": "", // Kunci pemisahan.
        "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 error yang diizinkan.
    },
    "speed": {
      "throttle":true,// Nilai `true` mengaktifkan pembatasan kecepatan dan mematuhi batas `mbps`. Nilai `false` menonaktifkannya.
      "concurrent":1, // Tingkat konkurensi untuk tugas.
      "mbps":"12"// Batas laju dalam MB/s.
    }
  }
}

Parameter Reader

Parameter

Deskripsi

Wajib

Bawaan

datasource

Nama sumber data DataWorks Anda.

Ya

Tidak ada

table

Nama tabel sumber.

Ya

Tidak ada

column

Array kolom yang ingin Anda sinkronkan dari tabel sumber. Nilai bawaan [*] menunjukkan semua kolom.

  • Anda dapat memilih subset kolom untuk diekspor.

  • Anda dapat menentukan kolom dalam urutan apa pun, terlepas dari urutannya dalam skema tabel.

  • Anda dapat menggunakan konstanta. Anda harus mengikuti sintaksis MySQL. Contoh: ["id", "`table`", "1", "'bazhen.csy'", "null", "to_char(a + 1)", "2.3" , "true"].

    • id adalah nama kolom standar.

    • table adalah kata kunci yang dicadangkan yang digunakan sebagai nama kolom.

    • 1 adalah konstanta integer.

    • bazhen.csy adalah konstanta string.

    • null menentukan nilai NULL.

    • to_char(a + 1) adalah ekspresi fungsi.

    • 2.3 adalah bilangan titik mengambang.

    • true adalah nilai Boolean.

  • Anda harus secara eksplisit menentukan kolom yang akan disinkronkan. Array column tidak boleh kosong.

Ya

Tidak ada

splitPk

Saat Reader AnalyticDB for MySQL 3.0 mengekstrak data, jika Anda menentukan parameter splitPk, sistem akan melakukan sharding data berdasarkan bidang yang ditentukan oleh splitPk. Akibatnya, sinkronisasi data dilakukan menggunakan tugas konkuren, yang meningkatkan efisiensi.

  • Untuk kinerja terbaik, gunakan kunci primer tabel sebagai kunci pemisahan. Nilai dalam kolom kunci primer biasanya terdistribusi merata, yang membantu mencegah kesenjangan data di antara subtugas.

  • Kunci pemisahan harus bertipe data integer. Tipe string, bilangan titik mengambang, dan tanggal tidak didukung. Jika Anda menentukan kolom dengan tipe data yang tidak didukung, kunci pemisahan akan diabaikan, dan tugas dijalankan secara serial.

  • Jika Anda tidak menentukan splitPk, termasuk tidak menyediakan splitPk atau membiarkan nilai splitPk kosong, data tabel disinkronkan dengan menggunakan saluran tunggal.

Tidak

Tidak ada

where

Kondisi filter. Misalnya, untuk hanya menyinkronkan data hari ini, Anda dapat mengatur kondisi where menjadi gmt_create>$bizdate.

  • Klausa where dapat digunakan secara efektif untuk melakukan sinkronisasi data bisnis inkremental. Jika Anda tidak menentukan pernyataan where, termasuk tidak menyediakan kunci atau nilai where, sinkronisasi data dianggap sebagai sinkronisasi data penuh.

  • Anda tidak dapat menentukan kondisi seperti LIMIT 10. Kondisi tersebut harus sesuai dengan sintaksis klausa WHERE MySQL.

Tidak

Tidak ada

Contoh skrip Writer

{
  "type": "job",
  "steps": [
    {
      "stepType": "stream",
      "parameter": {},
      "name": "Reader",
      "category": "reader"
    },
    {
      "stepType": "analyticdb_for_mysql", // Nama plugin.
      "parameter": {
        "postSql": [], // Pernyataan SQL yang dieksekusi setelah impor.
        "tableType": null, // Bidang cadangan. Nilai bawaan adalah null.
        "datasource": "hangzhou_ads", // Nama sumber data.
        "column": [ // Kolom yang akan disinkronkan.
          "id",
          "value"
        ],
        "guid": null,
        "writeMode": "insert", // Mode penulisan. Lihat deskripsi parameter writeMode.
        "batchSize": 2048, // Jumlah catatan dalam setiap penulisan batch. Lihat deskripsi parameter batchSize.
        "encoding": "UTF-8", // Format encoding.
        "table": "t5", // Nama tabel tujuan.
        "preSql": [] // Pernyataan SQL yang dieksekusi sebelum impor.
      },
      "name": "Writer",
      "category": "writer"
    }
  ],
  "version": "2.0", // Versi format file konfigurasi.
  "order": {
    "hops": [
      {
        "from": "Reader",
        "to": "Writer"
      }
    ]
  },
  "setting": {
    "errorLimit": {
      "record": "0" // Jumlah maksimum catatan error yang diizinkan.
    },
    "speed": {
      "throttle":true,// Nilai `true` mengaktifkan pembatasan kecepatan dan mematuhi batas `mbps`. Nilai `false` menonaktifkannya.
      "concurrent":2, // Tingkat konkurensi untuk tugas.
      "mbps":"12"// Batas laju dalam MB/s.
    }
  }
}

Parameter Writer

Parameter

Deskripsi

Wajib

Bawaan

datasource

Nama sumber data DataWorks Anda.

Ya

Tidak ada

table

Nama tabel tujuan.

Ya

Tidak ada

writeMode

Metode penulisan data. Nilai yang valid adalah insert, replace, dan update.

  • insert: Menyisipkan catatan baru. Jika terjadi konflik kunci primer atau indeks unik, catatan tersebut dilewati.

  • replace: Menyisipkan catatan baru. Jika terjadi konflik kunci primer atau indeks unik, catatan baru menggantikan yang lama.

  • update: Menyisipkan catatan baru. Jika terjadi konflik kunci primer atau indeks unik, catatan yang ada diperbarui dengan nilai baru.

    Catatan

    Mode ini hanya tersedia di editor kode.

Tidak

insert

column

Kolom dalam tabel tujuan tempat Anda ingin menulis data. Pisahkan nama kolom dengan koma. Contoh: "column": ["id", "name", "age"]. Untuk menulis data ke semua kolom secara berurutan, gunakan tanda bintang (*). Contoh: "column": ["*"].

Catatan

Jika nama kolom berisi kata kunci yang dicadangkan seperti select, lampirkan dengan backtick (). Misalnya, tentukan item_select_no sebagai item_select_no.

Ya

Tidak ada

preSql

Satu atau beberapa pernyataan SQL yang dieksekusi sebelum tugas penulisan dimulai. Antarmuka tanpa kode mendukung satu pernyataan, sedangkan editor kode mendukung beberapa.

Catatan

Transaksi tidak didukung untuk beberapa pernyataan SQL.

Tidak

Tidak ada

postSql

Satu atau beberapa pernyataan SQL yang dieksekusi setelah tugas penulisan selesai. Antarmuka tanpa kode mendukung satu pernyataan, sedangkan editor kode mendukung beberapa.

Catatan

Transaksi tidak didukung untuk beberapa pernyataan SQL.

Tidak

Tidak ada

batchSize

Nilai yang lebih besar dapat meningkatkan throughput tetapi juga meningkatkan konsumsi memori, yang dapat menyebabkan error kehabisan memori (OOM).

Tidak

1.024