全部产品
Search
文档中心

Realtime Compute for Apache Flink:Modul rute Flink CDC

更新时间:Feb 07, 2026

Modul route menetapkan aturan untuk memetakan tabel sumber ke tabel sink. Topik ini menjelaskan sintaksis pendefinisian aturan routing.

Parameter

Parameter

Deskripsi

Wajib

Keterangan

source-table

Menentukan tabel sumber.

Wajib

Mendukung ekspresi reguler.

sink-table

Menentukan tabel sink.

Wajib

replace-symbol

Menentukan string dalam nama tabel sink yang akan diganti dengan nama tabel sumber.

Opsional

Misalnya, ketika replace-symbol diatur ke <>, Anda dapat mengonfigurasi sink-table sebagai sinkdb.<>. Jika tabel sumber adalah table1, data direplikasi ke tabel sink dengan nama identik sinkdb.table1.

description

Deskripsi aturan routing.

Opsional

Penting

Lakukan startup tanpa status setelah memodifikasi modul route untuk menerapkan aturan baru.

Contoh

Sinkronisasi tabel tunggal

Rutekan data dari tabel sumber mysql_db.web_order ke tabel sink 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 menyalin data dari satu tabel sumber ke beberapa tabel sink, definisikan beberapa aturan routing. Kode berikut mereplikasi data dari 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 menggunakan tanda hubung (-), yang merupakan indikator daftar YAML. Semua aturan ini 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 sharded

Gabungkan semua tabel dari database source_db ke 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 database source_db ke tabel-tabel yang sesuai di database sink_db, dengan mempertahankan nama tabel tetap sama.

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

Simbol <> berfungsi sebagai placeholder untuk nama tabel sumber, memungkinkan pemetaan satu-ke-satu dari tabel sumber ke tabel sink.

image

Aturan routing lanjutan

Modul Route mendukung penggantian dengan capturing group.

Buat capturing group dalam ekspresi reguler source-table menggunakan tanda kurung. Kemudian, referensikan konten yang ditangkap dalam sink-table menggunakan $1, $2, dan seterusnya.

Kasus penggunaan umum beserta aturan routing-nya meliputi hal-hal berikut:

  • Tambahkan awalan ke semua nama database yang ditangkap sambil mempertahankan nama tabel tetap sama:

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

    Capturing group pertama ($1) mencocokkan nama database lengkap. Capturing group kedua ($2) mencocokkan nama tabel lengkap. ID tabel sink akhir menggabungkan keduanya.

  • Tambahkan awalan ke semua nama database dan tabel yang ditangkap:

    route:
      - source-table: (\.*).(\.*)
        sink-table: ods_$1.upstream_$2
  • Gabungkan nama database dan tabel yang ditangkap menjadi satu nama tabel sink dalam satu database:

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

    Aturan ini mengekstrak dua capturing group (db_no_100.table_no_300100 dan 300) dan menulis data ke tabel sink sink_db.table_100_300.