开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

一个Flink SQL Job 能同时订阅多个MySql表的Binlog吗?

一个Flink SQL Job 能同时订阅多个MySql表的Binlog吗?

展开
收起
真的很搞笑 2024-01-04 14:23:24 141 0
3 条回答
写回答
取消 提交回答
  • 是的,一个Flink SQL Job可以同时订阅多个MySQL表的Binlog。在Flink中,可以使用CREATE TABLE语句来定义一个表,并使用START TABLE语句来启动该表的数据流。通过在START TABLE语句中使用多个表的Binlog地址,可以实现同时订阅多个MySQL表的Binlog。

    下面是一个示例代码片段,演示了如何在Flink SQL Job中同时订阅多个MySQL表的Binlog:

    -- 创建表1
    CREATE TABLE table1 (
      id INT,
      name STRING,
      age INT
    ) WITH (
      'connector' = 'mysql-binlog',
      'hostname' = 'localhost',
      'port' = 3306,
      'username' = 'root',
      'password' = 'password',
      'database-name' = 'db1',
      'table-name' = 'table1'
    );
    
    -- 创建表2
    CREATE TABLE table2 (
      id INT,
      address STRING,
      salary FLOAT
    ) WITH (
      'connector' = 'mysql-binlog',
      'hostname' = 'localhost',
      'port' = 3306,
      'username' = 'root',
      'password' = 'password',
      'database-name' = 'db2',
      'table-name' = 'table2'
    );
    
    -- 同时订阅两个表的Binlog数据流
    START TABLE table1;
    START TABLE table2;
    

    在上面的示例中,我们首先使用CREATE TABLE语句创建了两个表table1table2,并分别指定了它们的Binlog连接信息。然后,使用START TABLE语句同时启动了这两个表的数据流。这样,Flink SQL Job就可以同时订阅多个MySQL表的Binlog了。

    2024-01-05 15:00:19
    赞同 展开评论 打赏
  • 可以的,但是会起多个binlog dump链接,因为mysql不支持按表订阅,都是全量订阅后过滤 ,此回答整理自钉群“实时计算Flink产品交流群”

    2024-01-04 17:15:31
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    是的,一个Flink SQL Job 可以同时订阅多个MySql表的Binlog。在Flink SQL中,可以使用CREATE TABLE语句创建一个源表,并指定MySQL作为数据源。然后,可以使用INSERT INTO语句将数据插入到目标表中。这样,Flink SQL Job就可以订阅多个MySql表的Binlog,并将数据同步到目标表中。

    2024-01-04 16:00:38
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载

    相关镜像