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

Flink CDC中我已经配置了需要的库表,但是用户是有所有库表权限的,所以还是会扫全量吗?

Flink CDC中我已经配置了需要的库表,但是用户是有所有库表权限的,所以还是会扫全量吗,不管是否配置了需要的库表?
0086c1a74abf216577e5b638bb7b2fb5.png

展开
收起
小易01 2023-07-24 21:54:41 69 0
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    Flink CDC 是一种基于数据库日志的增量数据同步方案,它的工作原理是通过读取数据库的归档日志或在线日志来捕获数据变化。因此,如果您的用户具有所有库表的权限,Flink CDC 在启动时会扫描所有的库表,并尝试订阅它们的日志,以便在数据发生变化时能够及时捕获。
    如果您只需要同步部分库表的数据,可以通过 Flink CDC 的配置来指定需要同步的库表,从而避免扫描全量数据。具体来说,您可以在 Flink CDC 的配置文件中指定要同步的库表的名称、模式、列名等信息,例如:
    json
    Copy
    {
    "name": "my-cdc-job",
    "connector": {
    "type": "cdc",
    "property-version": "1",
    "scan.startup.mode": "earliest-offset",
    "database": "mydatabase",
    "table-whitelist": "myschema.mytable1,myschema.mytable2",
    "table-name.case-sensitive": "false",
    "schema-name": "myschema",
    "username": "myuser",
    "password": "mypassword",
    "hostname": "localhost",
    "port": "1433",
    "catalog": "",
    "debezium.snapshot.mode": "initial"
    },
    "format": {
    "type": "json"
    },
    "sink": {
    "type": "print"
    }
    }
    在上述配置中,table-whitelist 参数指定了需要同步的库表的名称列表,schema-name 参数指定了库表所在的模式名称,username 和 password 参数指定了连接数据库所需的用户名和密码,hostname 和 port 参数指定了数据库的主机名和端口号。

    2023-07-29 18:35:26
    赞同 展开评论 打赏
  • 意中人就是我呀!

    都会扫一遍,然后根据你配置的确定表。此回答整理至钉群“Flink CDC 社区”

    2023-07-26 12:02:56
    赞同 展开评论 打赏
  • 存在即是合理

    Flink CDC中,用户权限会影响CDC的读取方式。如果用户有所有库表权限,那么Flink CDC会扫描所有库表并进行增量或全量抽取。如果想让Flink CDC只抽取指定的库表,可以在配置文件中设置table.whitelist参数,列出需要抽取的库表名称。

    2023-07-25 14:23:39
    赞同 展开评论 打赏

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

相关产品

  • 实时计算 Flink版
  • 热门讨论

    热门文章

    相关电子书

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