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

FlinkCDC數(shù)據(jù)實(shí)時(shí)同步Mysql到ES

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

考大家一個(gè)問(wèn)題,如果想要把數(shù)據(jù)庫(kù)的數(shù)據(jù)同步到別的地方,比如es,mongodb,大家會(huì)采用哪些方案呢? :::

基于flink cdc的數(shù)據(jù)同步系統(tǒng),mysql,elasticsearch,數(shù)據(jù)庫(kù),flink

  1. 定時(shí)掃描同步?

  2. 實(shí)時(shí)日志同步?

定時(shí)同步是一個(gè)很好的方案,比較簡(jiǎn)單,但是如果對(duì)實(shí)時(shí)要求比較高的話(huà),定時(shí)同步就有點(diǎn)不合適了。今天給大家介紹一種實(shí)時(shí)同步方案,就是是使用flinkcdc 來(lái)讀取數(shù)據(jù)庫(kù)日志,并且寫(xiě)入到elasticsearch中。

1.什么是flinkcdc?

Flink CDC(Change Data Capture)是指通過(guò) Apache Flink 實(shí)現(xiàn)的一種數(shù)據(jù)變化捕獲技術(shù)。CDC 可以實(shí)時(shí)捕獲數(shù)據(jù)庫(kù)中的數(shù)據(jù)變化,如插入、更新、刪除操作,并將這些變化數(shù)據(jù)流式地傳輸?shù)狡渌到y(tǒng)或存儲(chǔ)中。通過(guò) Flink CDC,用戶(hù)可以實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)庫(kù)中的數(shù)據(jù)變化,并將這些變化數(shù)據(jù)用于實(shí)時(shí)分析、ETL(Extract, Transform, Load)等應(yīng)用場(chǎng)景。Flink CDC 通常用于構(gòu)建實(shí)時(shí)數(shù)據(jù)管道,幫助用戶(hù)實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)同步和分析。

基于flink cdc的數(shù)據(jù)同步系統(tǒng),mysql,elasticsearch,數(shù)據(jù)庫(kù),flink

基于flink cdc的數(shù)據(jù)同步系統(tǒng),mysql,elasticsearch,數(shù)據(jù)庫(kù),flink

2.flinkcdc發(fā)展趨勢(shì)?

基于flink cdc的數(shù)據(jù)同步系統(tǒng),mysql,elasticsearch,數(shù)據(jù)庫(kù),flink

目前在github 上大概有5k 的star,也有越來(lái)越多的人使用。

基于flink cdc的數(shù)據(jù)同步系統(tǒng),mysql,elasticsearch,數(shù)據(jù)庫(kù),flink

3.flinkcdc有什么優(yōu)勢(shì)?

說(shuō)到實(shí)時(shí)同步,canal 是比較常用的方案

canal,譯意為水道/管道/溝渠,主要用途是基于 MySQL 數(shù)據(jù)庫(kù)增量日志解析,提供增量數(shù)據(jù)訂閱和消費(fèi)。 這句介紹有幾個(gè)關(guān)鍵字:增量日志,增量數(shù)據(jù)訂閱和消費(fèi)。

基于flink cdc的數(shù)據(jù)同步系統(tǒng),mysql,elasticsearch,數(shù)據(jù)庫(kù),flink

canal的把自己偽裝成MySQL slave,模擬MySQL slave的交互協(xié)議向MySQL Mater發(fā)送 dump協(xié)議,MySQL mater收到canal發(fā)送過(guò)來(lái)的dump請(qǐng)求,開(kāi)始推送binary log給canal,然后canal解析binary log,再發(fā)送到存儲(chǔ)目的地,比如MySQL,Kafka,Elastic Search等等。

那么 flinkcdc 和canal 對(duì)比,有什么不同呢?

基于flink cdc的數(shù)據(jù)同步系統(tǒng),mysql,elasticsearch,數(shù)據(jù)庫(kù),flink

這是網(wǎng)上的一個(gè)對(duì)比??梢钥吹?flinkcdc 和canal 一樣,也是通過(guò)讀取數(shù)據(jù)庫(kù)日志的方式做到實(shí)時(shí)同步的,這個(gè)和很多實(shí)時(shí)同步的工具原理相同,比如 ogg debezium 都是這樣做的,flinkcdc 的優(yōu)勢(shì)是基于flink 這個(gè)強(qiáng)大的實(shí)時(shí)計(jì)算引擎,可以做到集群部署,高可用等等,并且社區(qū)活躍,支持的平臺(tái)多,像 mysql oracle mongodb 主流數(shù)據(jù)庫(kù)都是支持的。而canal只支持mysql。

還有一個(gè)優(yōu)勢(shì),flinkcdc 是基于java實(shí)現(xiàn)的,背靠大數(shù)據(jù)這個(gè)大平臺(tái),解決方案也是比較多的。源碼閱讀修改起來(lái)也是比較方便的。

4.一個(gè)例子

光說(shuō)不練假把式,簡(jiǎn)單的寫(xiě)一個(gè)把mysql 數(shù)據(jù)實(shí)時(shí)同步到es的例子,使用flinksql的方式,只需要簡(jiǎn)單的幾行sql

基于flink cdc的數(shù)據(jù)同步系統(tǒng),mysql,elasticsearch,數(shù)據(jù)庫(kù),flink

依賴(lài)
flink-1.15.0
flink-sql-connector-elasticsearch7-1.15.0.jar
flink-sql-connector-mysql-cdc-2.2.1.jar
mysql 5.7
es 7.9.3

安裝好flink 之后,把 flink-sql-connector-elasticsearch7-1.15.0.jar flink-sql-connector-mysql-cdc-2.2.1.jar 上傳到 flink lib 目錄 啟動(dòng)flink

./start-cluster.sh

打開(kāi)flink sql 窗口

./start-cluster.sh

創(chuàng)建和mysql 關(guān)聯(lián)的表

CREATE?TABLE?products?(
????id?INT,
????name?STRING,
????description?STRING,
????PRIMARY?KEY?(id)?NOT?ENFORCED
??)?WITH?(
????'connector'?=?'mysql-cdc',
????'hostname'?=?'localhost',
????'port'?=?'3306',
????'username'?=?'root',
????'password'?=?'123456',
????'database-name'?=?'mydb',
????'table-name'?=?'products'
??);
CREATE?TABLE?orders?(
???order_id?INT,
???order_date?TIMESTAMP(0),
???customer_name?STRING,
???price?DECIMAL(10,?5),
???product_id?INT,
???order_status?BOOLEAN,
???PRIMARY?KEY?(order_id)?NOT?ENFORCED
?)?WITH?(
???'connector'?=?'mysql-cdc',
???'hostname'?=?'localhost',
???'port'?=?'3306',
???'username'?=?'root',
???'password'?=?'123456',
???'database-name'?=?'mydb',
???'table-name'?=?'orders'
?);

創(chuàng)建和es 同步的表

CREATE?TABLE?enriched_orders?(
???order_id?INT,
???order_date?TIMESTAMP(0),
???customer_name?STRING,
???price?DECIMAL(10,?5),
???product_id?INT,
???order_status?BOOLEAN,
???product_name?STRING,
???product_description?STRING,
???PRIMARY?KEY?(order_id)?NOT?ENFORCED
?)?WITH?(
?????'connector'?=?'elasticsearch-7',
?????'hosts'?=?'http://192.168.91.134:9200',
?????'index'?=?'enriched_orders'
?);

創(chuàng)建讀取mysql寫(xiě)入es任務(wù)

INSERT?INTO?enriched_orders
?SELECT?o.*,?p.name,?p.description
?FROM?orders?AS?o
?LEFT?JOIN?products?AS?p?ON?o.product_id?=?p.id;

執(zhí)行這個(gè)任務(wù)后,mysql 的數(shù)據(jù)就能實(shí)時(shí)同步至es了

當(dāng)然數(shù)據(jù)源也是支持很多種,比如 oracle mongodb sqlserver 寫(xiě)入端也支持 es kafka hive 等等,看大家需要。想我們的業(yè)務(wù)場(chǎng)景,是先將mysql 數(shù)據(jù)同步到kafka,然后再消費(fèi)kafka 消息,把數(shù)據(jù)寫(xiě)入到es, hive,starrocks 等等。并且使用了checkpoint 做為斷點(diǎn)恢復(fù)的保障。

5.最后

附上一些涉及的到網(wǎng)址,方便大家查閱

flinkcdc 官網(wǎng)?

flinkcdc github

flink 官網(wǎng)

flink 文檔文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-769804.html

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

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(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)文章

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

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

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

    2024年02月05日
    瀏覽(31)
  • Flink CDC 基于mysql binlog 實(shí)時(shí)同步mysql表(無(wú)主鍵)

    Flink CDC 基于mysql binlog 實(shí)時(shí)同步mysql表(無(wú)主鍵)

    環(huán)境說(shuō)明: flink 1.15.2 mysql 版本5.7 ? ?注意:需要開(kāi)啟binlog,因?yàn)樵隽客绞腔赽inlog捕獲數(shù)據(jù) windows11 IDEA 本地運(yùn)行 具體前提設(shè)置,請(qǐng)看這篇,包含 binlog 設(shè)置、Maven...... Flink CDC 基于mysql binlog 實(shí)時(shí)同步mysql表_彩虹豆的博客-CSDN博客 經(jīng)過(guò)不懈努力,終于從阿里help頁(yè)面找到了支

    2024年02月08日
    瀏覽(28)
  • Flink CDC 基于Oracle log archiving 實(shí)時(shí)同步Oracle表到Mysql

    Flink CDC 基于Oracle log archiving 實(shí)時(shí)同步Oracle表到Mysql

    環(huán)境說(shuō)明: flink 1.15.2 Oracle 版本:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production mysql 版本:5.7 windows11 IDEA 本地運(yùn)行 先上官網(wǎng)使用說(shuō)明和案例:Oracle CDC Connector — Flink CDC documentation 1. Oracle 開(kāi)啟 log archiving (1).啟用 log archiving ?? ??? ?a:以DBA用戶(hù)連接數(shù)據(jù)庫(kù)? ??

    2024年02月11日
    瀏覽(44)
  • Flink CDC 基于Oracle log archiving 實(shí)時(shí)同步Oracle表到Mysql(無(wú)主鍵)

    環(huán)境說(shuō)明: flink 1.15.2 Oracle 版本:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production mysql 版本:5.7 windows11 IDEA 本地運(yùn)行 具體環(huán)境設(shè)置和maven依賴(lài)請(qǐng)看上篇:Flink CDC 基于Oracle log archiving 實(shí)時(shí)同步Oracle表到Mysql_彩虹豆的博客-CSDN博客 現(xiàn)在操作的是源表和目標(biāo)表都無(wú)主鍵數(shù)

    2024年02月15日
    瀏覽(30)
  • 基于Flink SQL CDC Mysql to Mysql數(shù)據(jù)同步

    基于Flink SQL CDC Mysql to Mysql數(shù)據(jù)同步

    Flink CDC有兩種方式同步數(shù)據(jù)庫(kù): 一種是通過(guò)FlinkSQL直接輸入兩表數(shù)據(jù)庫(kù)映射進(jìn)行數(shù)據(jù)同步,缺點(diǎn)是只能單表進(jìn)行同步; 一種是通過(guò)DataStream開(kāi)發(fā)一個(gè)maven項(xiàng)目,打成jar包上傳到服務(wù)器運(yùn)行。 本方案使用FlinkSQL方法,同步兩表中的數(shù)據(jù)。 其中Flink應(yīng)用可以部署在具有公網(wǎng)IP的服務(wù)

    2023年04月11日
    瀏覽(27)
  • 基于大數(shù)據(jù)平臺(tái)(XSailboat)的計(jì)算管道實(shí)現(xiàn)MySQL數(shù)據(jù)源的CDC同步--flink CDC

    基于大數(shù)據(jù)平臺(tái)(XSailboat)的計(jì)算管道實(shí)現(xiàn)MySQL數(shù)據(jù)源的CDC同步--flink CDC

    筆者在先前的一篇文檔《數(shù)據(jù)標(biāo)簽設(shè)計(jì) – 大數(shù)據(jù)平臺(tái)(XSailboat)的數(shù)據(jù)標(biāo)簽?zāi)K》 提到了關(guān)于數(shù)據(jù)標(biāo)簽的模塊,現(xiàn)已實(shí)現(xiàn)并應(yīng)用于項(xiàng)目中。在項(xiàng)目中遇到這樣一種情形: 如果打標(biāo)信息和業(yè)務(wù)數(shù)據(jù)是在一個(gè)數(shù)據(jù)庫(kù)實(shí)例中,那么只需要連接兩張表進(jìn)行查詢(xún)即可。但是數(shù)據(jù)標(biāo)簽作為

    2024年01月17日
    瀏覽(36)
  • ApacheStreamPark2.1.0部署及執(zhí)行flink-cdc任務(wù)同步mysql表的數(shù)據(jù)到es的實(shí)踐

    ApacheStreamPark2.1.0部署及執(zhí)行flink-cdc任務(wù)同步mysql表的數(shù)據(jù)到es的實(shí)踐

    ApacheStreamPark是流處理極速開(kāi)發(fā)框架,流批一體 湖倉(cāng)一體的云原生平臺(tái),一站式流處理計(jì)算平臺(tái)。 ??特性中的簡(jiǎn)單易用和文檔詳盡這兩點(diǎn)我也是深有體會(huì)的,部署一點(diǎn)都不簡(jiǎn)單,照著官方文檔都不一定能搞出來(lái),下面部署環(huán)節(jié)慢慢來(lái)吐槽吧。 ??之前我們寫(xiě) Flink SQL 基本上

    2024年02月11日
    瀏覽(28)
  • Flink CDC2.4 整庫(kù)實(shí)時(shí)同步MySql 到Doris

    ????????Flink 1.15.4? ? ? ? ? 目前有很多工具都支持無(wú)代碼實(shí)現(xiàn)Mysql - Doris 的實(shí)時(shí)同步 ? ? ? ? 如:SlectDB 已發(fā)布的功能包 ? ? ? ? ? ? ? ??Dinky?SeaTunnel?TIS?等等 ? ? ? ? ?不過(guò)好多要么不支持表結(jié)構(gòu)變動(dòng),要不不支持多sink,我們的業(yè)務(wù)必須支持對(duì)表結(jié)構(gòu)的實(shí)時(shí)級(jí)變動(dòng)

    2024年02月11日
    瀏覽(35)
  • 基于 Dinky + FlinkSQL + Flink CDC 同步 MySQL 數(shù)據(jù)到 Elasticsearch、Kafka

    基于 Dinky + FlinkSQL + Flink CDC 同步 MySQL 數(shù)據(jù)到 Elasticsearch、Kafka

    Dinky 是一個(gè)開(kāi)箱即用的一站式實(shí)時(shí)計(jì)算平臺(tái)以 Apache Flink 為基礎(chǔ),連接 OLAP 和數(shù)據(jù)湖等眾多框架致力于流批一體和湖倉(cāng)一體的建設(shè)與實(shí)踐。本文以此為FlinkSQL可視化工具。 Flink SQL 使得使用標(biāo)準(zhǔn) SQL 開(kāi)發(fā)流式應(yīng)用變得簡(jiǎn)單,免去代碼開(kāi)發(fā)。 Flink CDC 本文使用 MySQL CDC 連接器 允許從

    2024年02月16日
    瀏覽(19)
  • 【實(shí)戰(zhàn)-01】flink cdc 實(shí)時(shí)數(shù)據(jù)同步利器

    【實(shí)戰(zhàn)-01】flink cdc 實(shí)時(shí)數(shù)據(jù)同步利器

    cdc github源碼地址 cdc官方文檔 對(duì)很多初入門(mén)的人來(lái)說(shuō)是無(wú)法理解cdc到底是什么個(gè)東西。 有這樣一個(gè)需求,比如在mysql數(shù)據(jù)庫(kù)中存在很多數(shù)據(jù),但是公司要把mysql中的數(shù)據(jù)同步到數(shù)據(jù)倉(cāng)庫(kù)(starrocks), 數(shù)據(jù)倉(cāng)庫(kù)你可以理解為存儲(chǔ)了各種各樣來(lái)自不同數(shù)據(jù)庫(kù)中表。 數(shù)據(jù)的同步目前對(duì)

    2023年04月08日
    瀏覽(94)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包