Tüm Ürünler
Search
Belge Merkezi

Realtime Compute for Apache Flink:Flink CDC route module

Son Güncelleme:Oct 04, 2026

route modülü, bir Flink CDC işlem hattında kaynak tabloları hedef tablolarla eşler. Tabloları yeniden adlandırmak, birden çok kaynak tabloyu tek bir hedef tabloda birleştirmek veya tek bir kaynak tabloyu birden çok hedefe çoğaltmak gerektiğinde yönlendirme kurallarını yapılandırın.

Parametreler

Parametre Açıklama Gerekli
source-table Eşlenecek kaynak tablo. Düzenli ifadeler desteklenir. Gerekli
sink-table Verilerin yazılacağı hedef tablo. replace-symbol yer tutucularını ve yakalama grubu başvurularını ($1, $2, ...) destekler. Gerekli
replace-symbol sink-table değerine gömülen bir yer tutucu dizesi. Çalışma zamanında, sink-table içindeki bu yer tutucunun her örneği gerçek kaynak tablo adı ile değiştirilir. Değer boş bir dize olmamalıdır. Örneğin, replace-symbol parametresini <> olarak ve sink-table parametresini sinkdb.<> olarak ayarlayın. Çalışma zamanında <> ifadesi kaynak tablo adı ile değiştirilir: table1 kaynak tablosu sinkdb.table1 hedefine, table2 kaynak tablosu ise sinkdb.table2 hedefine yazılır. Kaynak tablo adlarına ön ek veya son ek eklemeden doğrudan aktarmak için sink-table parametresini doğrudan <> olarak ayarlayın. İsteğe bağlı
description Yönlendirme kuralının açıklaması. İsteğe bağlı
Önemli

Route modülünde değişiklik yaptıktan sonra yeni yönlendirme kurallarını uygulamak üzere durum bilgisi içermeyen başlatma (stateless startup) yapın.

Örnekler

Tek tablo senkronizasyonu

mysql_db.web_order kaynağındaki verileri sink_db.ods_web_order hedefine yönlendirin:

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

Bire çok eşleme

Bir kaynak tabloyu birden çok hedef tabloya çoğaltmak için aynı source-table değerini paylaşan birden çok yönlendirme kuralı tanımlayın. Aşağıdaki kurallar, mydb.orders tablosunu aynı anda hem sink_db.orders hem de backup_sink_db.orders hedeflerine çoğaltır:

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

image

Birden çok bire bir eşleme

YAML liste göstergesini (-) kullanarak birden çok bağımsız kural tanımlayın. Tüm kurallar eş zamanlı olarak uygulanır:

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

Parçalı tabloları birleştirme

source_db veritabanındaki tüm tabloları tek bir hedef tablo olan sink_db.merged içinde birleştirin:

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

image

Veritabanı senkronizasyonu

source_db veritabanındaki tüm tabloları, tablo adlarını değiştirmeden sink_db veritabanındaki karşılık gelen tablolara senkronize edin. sink-table parametresindeki <> yer tutucusu, eşleşen her kaynak tablo adı ile değiştirilir; böylece source_db.XXX kaynağı sink_db.XXX hedefine yönlendirilir:

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

image

Yakalama grupları ile gelişmiş yönlendirme

source-table düzenli ifadesinde parantez kullanarak yakalama grupları oluşturun ve yakalanan değerleri sink-table parametresinde $1, $2 gibi referanslarla kullanın.

Veritabanı adlarına ön ek ekleyin, tablo adlarını değişmeden bırakın:

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

$1 tam veritabanı adını, $2 ise tam tablo adını yakalar.

Hem veritabanı hem de tablo adlarına ön ek ekleyin:

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

Veritabanı ve tablo adlarını tek bir hedef tabloda düzleştirin:

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

Örneğin, db_no_100.table_no_300 ifadesi 100 ve 300 yakalama gruplarıyla eşleşir ve sink_db.table_100_300 hedefine yönlendirilir.