国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【大數(shù)據(jù)】Flink CDC 的概覽和使用

這篇具有很好參考價(jià)值的文章主要介紹了【大數(shù)據(jù)】Flink CDC 的概覽和使用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1.什么是 CDC

CDCChange Data Capture,數(shù)據(jù)變更抓取)是一種用于跟蹤數(shù)據(jù)庫(kù)中數(shù)據(jù)更改的技術(shù)。它用于監(jiān)視數(shù)據(jù)庫(kù)中的變化,并捕獲這些變化,以便實(shí)時(shí)或定期將變化的數(shù)據(jù)同步到其他系統(tǒng)、數(shù)據(jù)倉(cāng)庫(kù)或分析平臺(tái)。CDC 技術(shù)通常用于數(shù)據(jù)復(fù)制、數(shù)據(jù)倉(cāng)庫(kù)更新、實(shí)時(shí)報(bào)告和數(shù)據(jù)同步等場(chǎng)景。

CDC 可以捕獲數(shù)據(jù)庫(kù)中的以下類型的數(shù)據(jù)變化:

  • ? 插入(Insert):當(dāng)新數(shù)據(jù)被插入到數(shù)據(jù)庫(kù)表中時(shí)。
  • ? 更新(Update):當(dāng)數(shù)據(jù)庫(kù)表中的現(xiàn)有數(shù)據(jù)被修改時(shí)。
  • ? 刪除(Delete):當(dāng)數(shù)據(jù)從數(shù)據(jù)庫(kù)表中被刪除時(shí)。

2.什么是 Flink CDC

Flink CDC 是一個(gè)開(kāi)源的數(shù)據(jù)庫(kù)變更日志捕獲和處理框架,它可以實(shí)時(shí)地從各種數(shù)據(jù)庫(kù)(如 MySQL、PostgreSQL、Oracle、MongoDB 等)中捕獲數(shù)據(jù)變更并將其轉(zhuǎn)換為流式數(shù)據(jù)。Flink CDC 可以幫助實(shí)時(shí)應(yīng)用程序?qū)崟r(shí)地處理和分析這些流數(shù)據(jù),從而實(shí)現(xiàn) 數(shù)據(jù)同步數(shù)據(jù)管道、實(shí)時(shí)分析實(shí)時(shí)應(yīng)用 等功能。

本質(zhì)上是一系列的 Flink Source Connector 集合,用于來(lái)獲取數(shù)據(jù)庫(kù)的實(shí)時(shí)變更,底層基于 Debezium 實(shí)現(xiàn)。

?? https://github.com/ververica/flink-cdc-connectors

3.Flink CDC 前生今世

3.1 Flink CDC 1.x

Flink CDC 1.x 開(kāi)啟了 Flink 在 CDC 上的實(shí)踐之路,F(xiàn)link CDC 1.x 第一次引入了 Debezium 框架,利用 Debezium 已有的能力將數(shù)據(jù)庫(kù)實(shí)時(shí)變更接入到 Flink 流計(jì)算框架中,利用 Flink 豐富的生態(tài)對(duì)數(shù)據(jù)進(jìn)行加工處理,滿足不同的業(yè)務(wù)需求,在功能層面上而言,F(xiàn)link CDC 1.x 只能說(shuō)是可以用,但不能生產(chǎn)上用,為什么:

  • 1.x 版本全增量切換時(shí)會(huì)對(duì)表加鎖,在同步過(guò)程中有段時(shí)間業(yè)務(wù)會(huì)處于暫停狀態(tài)。
  • 各方面功能還不夠完善,比如自動(dòng)加表、DDL 事件傳遞等。

【大數(shù)據(jù)】Flink CDC 的概覽和使用,# Flink,大數(shù)據(jù),flink,CDC,Flink CDC,數(shù)據(jù)集成,實(shí)時(shí)同步

總體而言 Flink CDC 1.x 只能說(shuō)是一個(gè)比較有趣的小玩具,還不具備大規(guī)模商業(yè)盈利的價(jià)值。

【大數(shù)據(jù)】Flink CDC 的概覽和使用,# Flink,大數(shù)據(jù),flink,CDC,Flink CDC,數(shù)據(jù)集成,實(shí)時(shí)同步

3.2 Flink CDC 2.x

2.x 版本中,F(xiàn)link CDC 引入了 Netfix DBLog 中的無(wú)鎖算法,徹底解決了全增量切換上業(yè)務(wù)停滯的問(wèn)題,同時(shí)得益于 FLIP-27 對(duì) Flink Source API 的重構(gòu),F(xiàn)link CDC 也基于 FLIP-27 升級(jí)到了新的框架設(shè)計(jì),至此,F(xiàn)link CDC 被大規(guī)模公司使用并投入到生產(chǎn)中。

【大數(shù)據(jù)】Flink CDC 的概覽和使用,# Flink,大數(shù)據(jù),flink,CDC,Flink CDC,數(shù)據(jù)集成,實(shí)時(shí)同步

3.3 Flink CDC 3.x

近期,F(xiàn)link CDC 發(fā)布了全新的 3.0 版本,并宣布捐贈(zèng)回 Flink 主項(xiàng)目,在新的 3.0 版本中,F(xiàn)link CDC 對(duì)于接口和架構(gòu)上做了很大的升級(jí)和調(diào)整,對(duì)于整體項(xiàng)目的定位也從之前的 Flink Source Connector 轉(zhuǎn)變?yōu)榱?Data Integration Engine,未來(lái)將與 SeaTunnel、DataX、Chunjun 等一系列老牌數(shù)據(jù)集成項(xiàng)目同臺(tái)競(jìng)技,讓我們拭目以待。

【大數(shù)據(jù)】Flink CDC 的概覽和使用,# Flink,大數(shù)據(jù),flink,CDC,Flink CDC,數(shù)據(jù)集成,實(shí)時(shí)同步

4.Flink CDC 使用

在本地啟動(dòng)一個(gè) MySQL 的 Docker 環(huán)境。

docker run -it --rm --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=debezium -e MYSQL_USER=mysqluser -e MYSQL_PASSWORD=mysqlpw -e TZ=Asia/Shanghai quay.io/debezium/example-mysql:2.4

創(chuàng)建表:

create database cdc_test;
use cdc_test;

create table cdc_table (
    id int primary key auto_increment,
    name varchar(1000),
    age int
);

在 IDEA 中新建一個(gè)Java 項(xiàng)目。

導(dǎo)入依賴:

<flink-cdc.version>2.4.2</flink-cdc.version>
<flink.version>1.16.3</flink.version>
<logback.version>1.2.7</logback.version>

<dependency>
    <groupId>com.ververica</groupId>
    <artifactId>flink-connector-mysql-cdc</artifactId>
    <version>${flink-cdc.version}</version>
</dependency>

<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-connector-base</artifactId>
    <version>${flink.version}</version>
</dependency>

<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-clients</artifactId>
    <version>${flink.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-table-runtime</artifactId>
    <version>${flink.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-runtime-web</artifactId>
    <version>${flink.version}</version>
</dependency>

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>${logback.version}</version>
</dependency>

編寫(xiě)代碼:

public class FlinkCDCApplication {
    public static void main(String[] args) throws Exception {

        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

        env.setParallelism(1);
        env.enableCheckpointing(60000L);

        MySqlSource<String> mySqlSource = MySqlSource.<String>builder()
            .hostname("localhost")
            .port(3306)
            .databaseList("cdc_test") // set captured database, If you need to synchronize the whole database, Please set tableList to ".*".
            .tableList("cdc_test.cdc_table") // set captured table
            .username("root")
            .password("debezium")
            .includeSchemaChanges(true)
            .startupOptions(StartupOptions.latest())
            .deserializer(new JsonDebeziumDeserializationSchema()) // converts SourceRecord to JSON String
            .build();

        env.fromSource(mySqlSource, WatermarkStrategy.noWatermarks(), "MySQL-CDC")
            .print();
        env.execute();
    }
}

添加日志配置:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-821495.html

<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~    http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<configuration>
       <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
          <encoder>
             <pattern>%d{yyyy-MM-dd HH:mm:ss} %p %c - %msg %n</pattern>
          </encoder>
       </appender>

       <root level="INFO">
          <appender-ref ref="STDOUT" />
       </root>
</configuration>

5.Debezium 標(biāo)準(zhǔn) CDC Event 格式詳解

{
    "before": null,
    "after": {
        "id": 1,
        "name": "xing.yu",
        "age": 26,
        "new_column": "dewu"
    },
    "source": {
        "version": "1.9.7.Final",
        "connector": "mysql",
        "name": "mysql_binlog_source",
        "ts_ms": 1702723640000,
        "snapshot": "false",
        "db": "cdc_test",
        "sequence": null,
        "table": "cdc_table",
        "server_id": 223344,
        "gtid": null,
        "file": "mysql-bin.000003",
        "pos": 2394,
        "row": 0,
        "thread": 39,
        "query": null
    },
    "op": "c",
    "ts_ms": 1702723640483,
    "transaction": null
}
{
    // 表數(shù)據(jù)更新前的值,update/delete
    "before": {},
    // 表數(shù)據(jù)更新后的值,create/update
    "after": {},
    // 元數(shù)據(jù)信息
    "source": {},
    // 操作類型 c/d/u
    "op": "",
    // 記錄解析時(shí)間
    "ts_ms": "",
    "transaction": ""
}

到了這里,關(guān)于【大數(shù)據(jù)】Flink CDC 的概覽和使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【大數(shù)據(jù)】Flink CDC 的概覽和使用

    【大數(shù)據(jù)】Flink CDC 的概覽和使用

    CDC ( Change Data Capture , 數(shù)據(jù)變更抓取 )是一種用于跟蹤數(shù)據(jù)庫(kù)中數(shù)據(jù)更改的技術(shù)。它用于監(jiān)視數(shù)據(jù)庫(kù)中的變化,并捕獲這些變化,以便實(shí)時(shí)或定期將變化的數(shù)據(jù)同步到其他系統(tǒng)、數(shù)據(jù)倉(cāng)庫(kù)或分析平臺(tái)。CDC 技術(shù)通常用于數(shù)據(jù)復(fù)制、數(shù)據(jù)倉(cāng)庫(kù)更新、實(shí)時(shí)報(bào)告和數(shù)據(jù)同步等場(chǎng)景。

    2024年01月24日
    瀏覽(32)
  • 用flink cdc sqlserver 將數(shù)據(jù)實(shí)時(shí)同步到clickhouse

    flink cdc 終于支持 sqlserver 了。 現(xiàn)在互聯(lián)網(wǎng)公司用sqlserver的不多,大部分都是一些國(guó)企的老舊系統(tǒng)。我們以前同步數(shù)據(jù),都是用datax,但是不能實(shí)時(shí)同步數(shù)據(jù)?,F(xiàn)在有了flinkcdc,可以實(shí)現(xiàn)實(shí)時(shí)同步了。 1、首先sqlserver版本:要求sqlserver版本為14及以上,也就是 SQL Server 2017 版。

    2023年04月08日
    瀏覽(32)
  • 基于 Flink CDC 構(gòu)建 MySQL 到 Databend 的 實(shí)時(shí)數(shù)據(jù)同步

    基于 Flink CDC 構(gòu)建 MySQL 到 Databend 的 實(shí)時(shí)數(shù)據(jù)同步

    這篇教程將展示如何基于 Flink CDC 快速構(gòu)建 MySQL 到 Databend 的實(shí)時(shí)數(shù)據(jù)同步。本教程的演示都將在 Flink SQL CLI 中進(jìn)行,只涉及 SQL,無(wú)需一行 Java/Scala 代碼,也無(wú)需安裝 IDE。 假設(shè)我們有電子商務(wù)業(yè)務(wù),商品的數(shù)據(jù)存儲(chǔ)在 MySQL ,我們需要實(shí)時(shí)把它同步到 Databend 中。 接下來(lái)的內(nèi)容

    2024年02月10日
    瀏覽(29)
  • Flink CDC 3.0 正式發(fā)布,詳細(xì)解讀新一代實(shí)時(shí)數(shù)據(jù)集成框架

    Flink CDC 3.0 正式發(fā)布,詳細(xì)解讀新一代實(shí)時(shí)數(shù)據(jù)集成框架

    Flink CDC 是基于數(shù)據(jù)庫(kù)日志 CDC(Change Data Capture)技術(shù)的實(shí)時(shí)數(shù)據(jù)集成框架,支持了全增量一體化、無(wú)鎖讀取、并行讀取、表結(jié)構(gòu)變更自動(dòng)同步、分布式架構(gòu)等高級(jí)特性。配合 Flink 優(yōu)秀的管道能力和豐富的上下游生態(tài),F(xiàn)link CDC 可以高效實(shí)現(xiàn)海量數(shù)據(jù)的實(shí)時(shí)集成。Flink CDC 社區(qū)發(fā)

    2024年02月04日
    瀏覽(22)
  • 基于 Flink CDC 的實(shí)時(shí)同步系統(tǒng)

    基于 Flink CDC 的實(shí)時(shí)同步系統(tǒng)

    摘要: 本文整理自科杰科技大數(shù)據(jù)架構(gòu)師張軍,在 FFA 2022 數(shù)據(jù)集成專場(chǎng)的分享。本篇內(nèi)容主要分為四個(gè)部分: 功能概述 架構(gòu)設(shè)計(jì) 技術(shù)挑戰(zhàn) 生產(chǎn)實(shí)踐 Tips: 點(diǎn)擊 「閱讀原文」 查看原文視頻演講 ppt 科杰科技是專門(mén)做大數(shù)據(jù)服務(wù)的供應(yīng)商,目前的客戶包括能源、金融、證券等

    2024年02月05日
    瀏覽(31)
  • flink oracle cdc實(shí)時(shí)同步(超詳細(xì))

    flink oracle cdc實(shí)時(shí)同步(超詳細(xì))

    官方文檔:https://github.com/ververica/flink-cdc-connectors/blob/release-master/docs/content/connectors/oracle-cdc.md 本文參照官方文檔來(lái)記錄Oracle CDC 的配置。 在本文開(kāi)始前,需要先安裝Oracle,有興趣的同學(xué)可以參考博主之前寫(xiě)的《docker下安裝oracle11g(一次安裝成功)》。 如果要做oracle的實(shí)時(shí)同步

    2024年02月12日
    瀏覽(21)
  • flink postgresql cdc實(shí)時(shí)同步(含pg安裝配置等)

    類型 版本/描述 docker 20.10.9 Postgresql 10.6 初始化賬號(hào)密碼:postgres/postgres 普通用戶:test1/test123 數(shù)據(jù)庫(kù):test_db flink 1.13.6 step1 : 拉取 PostgreSQL 10.6 版本的鏡像: step2 :創(chuàng)建并啟動(dòng) PostgreSQL 容器,在這里,我們將把容器的端口 5432 映射到主機(jī)的端口 30028,賬號(hào)密碼設(shè)置為 postgre

    2024年02月11日
    瀏覽(27)
  • Flink CDC 基于mysql binlog 實(shí)時(shí)同步mysql表

    Flink CDC 基于mysql binlog 實(shí)時(shí)同步mysql表

    環(huán)境說(shuō)明: flink?1.15.2 mysql 版本5.7? ? 注意:需要開(kāi)啟binlog,因?yàn)樵隽客绞腔赽inlog捕獲數(shù)據(jù) windows11 IDEA 本地運(yùn)行 先上官網(wǎng)使用說(shuō)明和案例:MySQL CDC Connector — Flink CDC documentation 1. mysql開(kāi)啟binlog (注意,引擎是 InnoDB,如果是ndbcluster,本人測(cè)試是捕獲不到binlog日志的,增量相

    2024年02月10日
    瀏覽(24)
  • flink sqlserver cdc實(shí)時(shí)同步(含sqlserver安裝配置等)

    flink sqlserver cdc實(shí)時(shí)同步(含sqlserver安裝配置等)

    官方文檔:https://github.com/ververica/flink-cdc-connectors/blob/master/docs/content/connectors/sqlserver-cdc.md 如果要使用flink cdc做sqlserver的實(shí)時(shí)同步,需要滿足以下條件: 需要安裝SQLServer(需要支持CDC的功能,SQLServer 2008之后的版本都支持) ; 需要開(kāi)啟SQL Server代理; 啟用CDC功能。 ok,接下來(lái)

    2024年02月08日
    瀏覽(22)
  • 使用flink sqlserver cdc 同步數(shù)據(jù)到StarRocks

    使用flink sqlserver cdc 同步數(shù)據(jù)到StarRocks

    前沿: flink cdc功能越發(fā)強(qiáng)大,支持的數(shù)據(jù)源也越多,本篇介紹使用flink cdc實(shí)現(xiàn): sqlserver-》(using flink cdc)-〉flink -》(using flink starrocks connector)-〉starrocks整個(gè)流程 1.sqlserver 環(huán)境準(zhǔn)備(得使用sqlserver 16以下版本,flink cdc當(dāng)前只支持16以下sqlserver版本) 我這個(gè)使用的是docker環(huán)

    2024年02月10日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包