Skip to content

Pipeline的YAML文件编写

本文是本系列教程的第四部分:Pipeline的YAML文件编写。

前言

在第三部分——Flink CDC环境的部署的结尾已经提到了需要把代表任务的YAML文件作为参数提交到Flink环境中,本文我们则重点介绍Pipeline的YAML文件的详情。

编写一个YAML文件

以下为Mysql整库同步到Doris的YAML文件,主要包含三个部分:

  • source

用于指定数据从哪里来

  • sink

用于指定数据到哪里去

  • pipeline

用于任务的名称和并行度,在Flink任务管理页面可以看到对应的任务名称

yaml
source:
  type: mysql # 定义数据源的数据库类型
  hostname: localhost # 数据库连接地址
  port: 3306 # 数据库端口号
  username: root # 数据库账户名
  password: 123456 # 数据库账户密码
  tables: app_db.\.* # 指定需要同步的数据库以及表,此处采用正则表达式的方式实现整库同步配置,多个规则可以用逗号分隔,如:adb.\.*, bdb.user_table_[0-9]+, [app|web].order_\.*
  server-id: 5400-5404 # 服务id,详细用法可以参考官方文档

sink:
  type: doris # 定义目标数据源的类型
  fenodes: 127.0.0.1:8030 # Doris集群FE的Http地址
  username: root # Doris集群的用户名
  password: "" # Doris集群的密码
  table.create.properties.light_schema_change: true # Doris表属性,是否使用light_schema_change优化
  table.create.properties.replication_num: 1 # Doris表属性,副本数

pipeline:
  name: Sync MySQL Database to Doris # 数据管道的名称
  parallelism: 1 # 数据管道的并发数

有了Pipeline文件,我们就可以提交任务了。

进阶

想要更加深刻的理解Flink CDC的原理,除了上面提到的Source、Sink,还需要进一步理解什么是Event,什么是DataChangeEvent,什么是SchemaChangeEvent以及Flow of Events。

下图呈现了一个数据流:

想要了解更多,可以关注:遇码,回复flinkcdc,获取官方文档。

遇码MeetCoding 开源技术社区