Flink-CDC 2.0学习


前言

实时数仓项目用到了Flink-CDC,这里记录一下学习的过程。


一、CDC简介

1.什么是CDC

CDC是Change Data Capture(变更数据获取)的简称。核心思想是监测并捕获数据库的变动包括数据或者数据表的插入、更新以及删除等),将这些变更按发生的完成顺序完整记录下来,写入到消息中间件以供其他服务进行订阅及消费。

2.CDC的种类

CDC主要分为基于查询和基于Binlog两种方式,如下表:

基于查询的CDC 基于Binlog的CDC
开源产品 Sqoop、Kafka JDBC Source Canal、Maxwell、Debezium
执行模式 Batch Streaming
是否可以捕获所有数据变化 否(只能查询出最终结果) 是(一条数据多次修改的中间过程也可以捕获)
延迟性 高延迟(攒成一批的,延迟高) 低延迟(类似于流式的,一条一条,延迟低)
是否增加数据库压力 是(因为要select表) 否 (是基于文件的)

3.Flink-CDC开源地址

开源地址:https://github.com/ververica/flink-cdc-connectors

二、Flink-CDC案例实操

1.依赖导入

使用Flink-CDC需要先导入以下依赖:

<dependencies>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-java</artifactId>
        <version>1.12.0</version>
    </dependency>

    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-streaming-java_2.12</artifactId>
        <version>1.12.0</version>
    </dependency>

    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-clients_2.12</artifactId>
        <version>1.12.0</version>
    </dependency>

    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-client</artifactId>
        <version>3.1.3</version>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.49</version>
</dependency>

<dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-table-planner-blink_2.12</artifactId>
        <version>1.12.0</version>
</dependency>

<dependency>
        <groupId>com.ververica</groupId>
        <artifactId>flink-connector-mysql-cdc</artifactId>
        <
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值