All Products
Search
Document Center

DataWorks:DM (Dameng)

Last Updated:Sep 25, 2026

DataWorks Data Integration mendukung DM (Dameng) baik sebagai sumber maupun tujuan untuk sinkronisasi batch offline. Gunakan DM Reader untuk mengekstrak data dari database DM dan DM Writer untuk memuat data ke dalamnya.

Kemampuan

Capability

DM Reader

DM Writer

Offline (batch) sync

Yes

Yes

Read from views

Yes

—

Column pruning

Yes

—

Column reordering

Yes

—

Parallel read (splitPk)

Yes (integer columns only)

—

Incremental sync (where)

Yes

—

Pre SQL execution

Yes

Yes

Post SQL execution

—

Yes

Serverless resource groups

Yes

Yes

Exclusive resource groups for Data Integration

Yes

Yes

Tipe field yang didukung

DM Reader dan DM Writer mendukung sebagian besar tipe data database relasional umum. Tabel berikut mencantumkan tipe data DM yang dapat dikonversi oleh DM Reader. Tipe yang tidak didukung akan menyebabkan error pembacaan—verifikasi skema Anda sebelum mengonfigurasi tugas sinkronisasi.

Category

DM data types

Integer

INT, TINYINT, SMALLINT, BIGINT

Floating-point

REAL, FLOAT, DOUBLE, NUMBER, DECIMAL

String

CHAR, VARCHAR, LONGVARCHAR, TEXT

Date and time

DATE, DATETIME, TIMESTAMP, TIME

Boolean

BIT

Binary

BINARY, VARBINARY, BLOB

Konfigurasi tugas sinkronisasi

Sinkronisasi offline tabel tunggal

Konfigurasikan tugas menggunakan Antarmuka tanpa kode (codeless UI) atau editor kode:

Untuk referensi skrip lengkap dan deskripsi parameter, lihat Script reference.

Sinkronisasi offline seluruh database

Lihat Batch database synchronization configuration.

Referensi skrip

Saat mengonfigurasi tugas sinkronisasi batch di editor kode, gunakan format skrip terpadu. Bagian berikut mencakup parameter khusus DM untuk Reader dan Writer.

Reader

Contoh skrip

{
  "type": "job",
  "version": "2.0",
  "order": {
    "hops": [
      { "from": "Reader", "to": "Writer" }
    ]
  },
  "setting": {
    "errorLimit": { "record": "0" },
    "speed": {
      "throttle": true,
      "concurrent": 1,
      "mbps": "12"
    }
  },
  "steps": [
    {
      "category": "reader",
      "name": "Reader",
      "stepType": "dm",
      "parameter": {
        "datasource": "dm_datasource",
        "table": "table",
        "column": ["*"],
        "preSql": ["delete from XXX;"],
        "fetchSize": 2048
      }
    },
    {
      "category": "writer",
      "name": "Writer",
      "stepType": "stream",
      "parameter": {}
    }
  ]
}

Parameter Reader

Parameter

Required

Default

Description

datasource

Yes

—

Nama sumber data DM. Lihat Configure a DM data source.

table

Yes

—

Tabel tempat membaca data.

column

Yes

—

Kolom yang akan disinkronkan, dalam bentuk array JSON. Gunakan ["*"] untuk semua kolom. Mendukung column pruning, column reordering, dan konstanta (integer, string, null, ekspresi fungsi, floating-point, Boolean).

splitPk

No

Empty

Kolom yang digunakan untuk membagi data guna pembacaan paralel. Tetapkan ini ke primary key untuk distribusi merata dan menghindari hot spot data. Hanya kolom integer yang didukung—tipe floating-point, string, date, dan lainnya akan menyebabkan error. Jika tidak ditetapkan, tabel dibaca dengan satu channel.

where

No

—

Kondisi filter SQL yang ditambahkan ke kueri—misalnya, gmt_create>$bizdate untuk sinkronisasi inkremental, atau limit 10 untuk pengujian. Jika tidak ditetapkan, semua baris dibaca.

querySql

No

—

Kueri SQL kustom—misalnya, select a,b from table_a join table_b on table_a.id = table_b.id. Saat ditetapkan, parameter column, table, dan where diabaikan.

fetchSize

No

1.024

Jumlah baris yang diambil per batch. Nilai yang lebih tinggi mengurangi round-trip jaringan dan meningkatkan throughput. Nilai di atas 2.048 dapat menyebabkan error out-of-memory (OOM).

preSql

No

—

Pernyataan SQL yang dieksekusi sebelum tugas sinkronisasi dimulai. Hanya satu pernyataan yang didukung.

Writer

Contoh skrip

{
  "type": "job",
  "version": "2.0",
  "order": {
    "hops": [
      { "from": "Reader", "to": "Writer" }
    ]
  },
  "setting": {
    "errorLimit": { "record": "" },
    "speed": {
      "throttle": true,
      "concurrent": 2,
      "mbps": "12"
    }
  },
  "steps": [
    {
      "category": "reader",
      "name": "Reader",
      "stepType": "oracle",
      "parameter": {
        "datasource": "aaa",
        "column": ["PROD_ID", "name"],
        "where": "",
        "splitPk": "",
        "encoding": "UTF-8",
        "table": "PENGXI.SALES"
      }
    },
    {
      "category": "writer",
      "name": "Writer",
      "stepType": "dm",
      "parameter": {
        "datasource": "dm_datasource",
        "table": "table",
        "column": ["id", "name"],
        "preSql": ["delete from XXX;"]
      }
    }
  ]
}

Parameter Writer

Parameter

Required

Default

Description

datasource

Yes

—

Nama sumber data DM. Lihat Configure a DM data source.

table

Yes

—

Tabel tujuan. Jika skema tabel berbeda dari username dalam konfigurasi sumber data, gunakan format schema.table.

column

Yes

—

Kolom tujuan yang akan ditulis, dipisahkan koma. Jangan gunakan pengaturan kolom default.

preSql

No

—

Pernyataan SQL yang dieksekusi sebelum tugas sinkronisasi dimulai—misalnya, untuk purge data lama. Hanya satu pernyataan yang didukung; beberapa pernyataan akan menonaktifkan dukungan transaksi.

postSql

No

—

Pernyataan SQL yang dieksekusi setelah tugas sinkronisasi selesai—misalnya, untuk menambahkan timestamp. Hanya satu pernyataan yang didukung; beberapa pernyataan akan menonaktifkan dukungan transaksi.

batchSize

No

1.024

Jumlah baris yang ditulis per batch. Nilai yang lebih tinggi mengurangi interaksi jaringan dan meningkatkan throughput. Nilai yang terlalu besar dapat menyebabkan error OOM.

Langkah berikutnya