All Products
Search
Document Center

Realtime Compute for Apache Flink:Modul rute Flink CDC

Last Updated:May 07, 2026

Modul route memetakan tabel sumber ke tabel sink dalam pipeline Flink CDC. Konfigurasikan aturan routing saat Anda perlu mengganti nama tabel, menggabungkan beberapa tabel sumber menjadi satu tabel sink, atau mereplikasi satu tabel sumber ke beberapa tujuan.

Parameter

Parameter Description Required
source-table Tabel sumber yang akan dicocokkan. Mendukung ekspresi reguler. Required
sink-table Tabel sink yang akan ditulis. Mendukung placeholder replace-symbol dan referensi capturing group ($1, $2, ...). Required
replace-symbol String placeholder yang disematkan dalam nilai sink-table. Saat waktu proses, setiap kemunculan placeholder ini dalam sink-table diganti dengan nama tabel sumber yang sebenarnya. Nilainya tidak boleh berupa string kosong. Sebagai contoh, atur replace-symbol menjadi <> dan sink-table menjadi sinkdb.<>. Saat waktu proses, <> diganti dengan nama tabel sumber: tabel sumber table1 ditulis ke sinkdb.table1, dan tabel sumber table2 ditulis ke sinkdb.table2. Untuk meneruskan nama tabel sumber tanpa menambahkan awalan atau akhiran, atur sink-table langsung menjadi <>. Optional
description Deskripsi aturan routing. Optional
Penting

Setelah memodifikasi modul route, lakukan startup tanpa status untuk menerapkan aturan routing baru.

Contoh

Sinkronisasi tabel tunggal

Rutekan data dari mysql_db.web_order ke sink_db.ods_web_order:

route:
  - source-table: mysql_db.web_order
    sink-table: sink_db.ods_web_order
    description: sync data from a source table to a sink table
image

Pemetaan satu-ke-banyak

Untuk mereplikasi tabel sumber ke beberapa tabel sink, definisikan beberapa aturan routing yang menggunakan source-table yang sama. Aturan berikut mereplikasi mydb.orders ke sink_db.orders dan backup_sink_db.orders secara bersamaan:

route:
  - source-table: mydb.orders
    sink-table: sink_db.orders
  - source-table: mydb.orders
    sink-table: backup_sink_db.orders
image

Beberapa pemetaan satu-ke-satu

Definisikan beberapa aturan independen menggunakan indikator daftar YAML (-). Semua aturan diterapkan secara konkuren:

route:
  - source-table: mydb.orders
    sink-table: ods_db.ods_orders
    description: sync orders table to ods_orders
  - source-table: mydb.shipments
    sink-table: ods_db.ods_shipments
    description: sync shipments table to ods_shipments
  - source-table: mydb.products
    sink-table: ods_db.ods_products
    description: sync products table to ods_products
image

Penggabungan tabel ter-shard

Gabungkan semua tabel dari source_db ke satu tabel sink sink_db.merged:

route:
  - source-table: source_db.\.*
    sink-table: sink_db.merged
    description: merge sharded tables to a unified sink table
image

Sinkronisasi database

Sinkronkan semua tabel dari source_db ke tabel-tabel yang sesuai di sink_db, dengan mempertahankan nama tabel tetap sama. Placeholder <> dalam sink-table diganti dengan nama tabel sumber yang cocok, sehingga source_db.XXX dirutekan ke sink_db.XXX:

route:
  - source-table: source_db.\.*
    sink-table: sink_db.<>
    replace-symbol: <>
    description: route all tables in source_db to sink_db
image

Routing lanjutan dengan capturing group

Buat capturing group dalam ekspresi reguler source-table menggunakan tanda kurung, lalu rujuk nilai yang ditangkap tersebut dalam sink-table menggunakan $1, $2, dan seterusnya.

Tambahkan awalan ke nama database, pertahankan nama tabel tetap sama:

route:
  - source-table: (\.*).(\.*)
    sink-table: ods_$1.$2

$1 menangkap nama database lengkap dan $2 menangkap nama tabel lengkap.

Tambahkan awalan ke nama database dan nama tabel:

route:
  - source-table: (\.*).(\.*)
    sink-table: ods_$1.upstream_$2

Ratakan nama database dan tabel menjadi satu tabel sink:

route:
  - source-table: db_no_(\.*).table_no_(\.*)
    sink-table: sink_db.table_$1_$2

Sebagai contoh, db_no_100.table_no_300 mencocokkan capturing group 100 dan 300, dan dirutekan ke sink_db.table_100_300.