You need to enable JavaScript to run this app.
导航
创建 Flink CDC 作业(Beta)
最近更新时间:2024.12.05 13:36:58首次发布时间:2024.12.05 13:36:58

流式计算 Flink 基于 Flink CDC,通过开发 YAML 作业的方式有效地实现了将数据从源端同步到目标端的数据摄入工作。本文将为您介绍 Flink CDC 作业开发的操作步骤。

前提条件

项目管理员(Project_Admin)已经在项目内创建好 Flink 资源池,请参见创建资源池

  1. 登录流式计算 Flink 版控制台
  2. 在顶部菜单栏选择目标地域。
  3. 在左侧导航栏选择项目管理,然后单击项目区块进入项目。
  4. 作业开发页面单击加号按钮,创建任务。
    您也可以选择目标文件夹,直接在该文件夹中创建任务;也可以直接单击 Flink 任务下的 Flink Stream SQL

Image

  1. 创建作业对话框,设置作业名称、作业类型、存储位置、引擎版本等参数,可以通过预览 CDC 的任务后,确认无误单击立即创建

Image

配置

说明

作业名称

自定义设置作业的名称。
名称的字符长度限制在 1~48,支持数字、大小写英文字母、下划线(_)、短横线(-)和英文句号(.),且首尾只能是数字或字母。

作业类型

选择 作业类型 > Flink CDC

模板选择

支持选择数据源(Source)和数据下游(Sink)的类型。
当前数据源支持 MySQL。
数据下游支持 ByteHouse CDW、Kafka、Doris/StarRocks、Paimon 等。

数据路由

CDC 模板中增加路由模块。路由(Route)指定了匹配一系列源表并映射到目标表(汇表)的规则。最典型的应用场景是子数据库和子表的合并,即将多个上游源表路由到同一个目标表(汇表)。

数据转换

CDC 模板中增加数据转换模块。转换模块可帮助用户根据表中的数据列来删除和扩展数据列。此外,它还能帮助用户在同步过程中过滤一些不必要的数据。

存储位置

系统提供文件夹管理功能,用于分类管理任务。在体验任务开发过程中,您可以直接选择系统默认存在的数据开发文件夹
如果您有自建文件夹管理任务的要求,请单击创建文件夹的文件夹按钮,然后创建文件夹。

引擎版本

目前支持 Flink 1.16-volcano、Flink 1.17-volcano 版本,请按需选择。

任务描述

输入任务的描述语句,一般描述任务实现的功能。

  1. 在任务编辑区编辑 CDC 任务的业务逻辑代码。
    此处提供一个示例 CDC YAML 任务代码。代码含义为:新建一个 MySQL 类型的数据源,将 app_db 库下所有数据表同步到 doris 数据下游。并且对数据表做一些路由和字段转换工作。

    source:
         type: mysql
         hostname: localhost
         port: 3306
         username: root
         password: 123456
         tables: app_db.\.*
    
       sink:
         type: doris
         fenodes: 127.0.0.1:8030
         username: root
         password: ""
    
       transform:
         - source-table: adb.web_order01
           projection: \*, UPPER(product_name) as product_name
           filter: id > 10 AND order_id > 100
           description: project fields and filter
         - source-table: adb.web_order02
           projection: \*, UPPER(product_name) as product_name
           filter: id > 20 AND order_id > 200
           description: project fields and filter
    
       route:
         - source-table: app_db.orders
           sink-table: ods_db.ods_orders
         - source-table: app_db.shipments
           sink-table: ods_db.ods_shipments
         - source-table: app_db.products
           sink-table: ods_db.ods_products
    
       pipeline:
         name: Sync MySQL Database to Doris
         parallelism: 2
    
  2. 参考 使用 JDBC 或者 MySQL-CDC 数据源上传 mysql-connector-java 到依赖文件中

Image

  1. CDC 任务代码编辑完成后,单击验证按钮。
    系统会自动校验您的 YAML 语句正确性,如果报错,请根据提示自主完成 YAML 语句修改。检验通过后,系统提示success
    Image
  2. 代码编辑和验证通过后,单击保存按钮,保存任务代码。