欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > Flink CDC系列之:学习理解核心概念——Route

Flink CDC系列之:学习理解核心概念——Route

2024/10/27 12:32:41 来源:https://blog.csdn.net/zhengzaifeidelushang/article/details/143257851  浏览:    关键词:Flink CDC系列之:学习理解核心概念——Route

Flink CDC系列之:学习理解核心概念——Route

  • Route
  • 参数
  • 示例
    • 将一个Data Source表路由到一个Data Sink表
    • 将多个数据源表路由到一个数据接收器表
    • 通过组合路线规则实现复杂路线
    • 路由规则中的模式替换

Route

Route 指定匹配一串 source-table 到 sink-table 的规则,最典型的场景是分库分表合并,将多个上游 source 表路由到同一张 sink 表。

参数

要描述路线,需要以下内容:

参数含义可选/必需
source-table源表id,支持正则表达式必须
sink-table接收表id,支持符号替换必须
replace-symbol接收表中用于模式替换的特殊符号,将被原始表名替换可选
description路由规则描述(提供默认值)可选

示例

将一个Data Source表路由到一个Data Sink表

假设将数据库mydb中的表web_order同步到Doris的一张表ods_web_order,我们可以用这个yaml文件来定义这个路由:

route:- source-table: mydb.web_ordersink-table: mydb.ods_web_orderdescription: sync table to one destination table with given prefix ods_

将多个数据源表路由到一个数据接收器表

另外,如果要将数据库 mydb 中的分片表同步到 Doris 的一张表 ods_web_order 中,我们可以用这个 yaml 文件来定义这条路由:

route:- source-table: mydb\.*sink-table: mydb.ods_web_orderdescription: sync sharding tables to one destination table

通过组合路线规则实现复杂路线

另外,如果要指定多种不同的映射规则,我们可以用这个yaml文件来定义这个路由:

route:- source-table: mydb.orderssink-table: ods_db.ods_ordersdescription: sync orders table to orders- source-table: mydb.shipmentssink-table: ods_db.ods_shipmentsdescription: sync shipments table to ods_shipments- source-table: mydb.productssink-table: ods_db.ods_productsdescription: sync products table to ods_products

路由规则中的模式替换

如果您想要路由源表并将其重命名为具有特定模式的接收表,则可以使用 replace-symbol 来类似于源表名称,如下所示:

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

然后,所有表(包括 source_db.XXX)都将被轻松路由到 sink_db.XXX。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com