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

Flink 內(nèi)容分享(二十一):通過Flink CDC一鍵整庫(kù)同步MongoDB到Paimon

這篇具有很好參考價(jià)值的文章主要介紹了Flink 內(nèi)容分享(二十一):通過Flink CDC一鍵整庫(kù)同步MongoDB到Paimon。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

導(dǎo)言

Paimon CDC

Demo 說明

Demo 準(zhǔn)備

Demo 開始

總結(jié)


導(dǎo)言

MongoDB 是一個(gè)比較成熟的文檔數(shù)據(jù)庫(kù),在業(yè)務(wù)場(chǎng)景中,通常需要采集 MongoDB 的數(shù)據(jù)到數(shù)據(jù)倉(cāng)庫(kù)或數(shù)據(jù)湖中,面向分析場(chǎng)景使用。

Flink MongoDB CDC 是 Flink CDC 社區(qū)提供的一個(gè)用于捕獲變更數(shù)據(jù)(Change Data Capturing)的 Flink 連接器,可連接到 MongoDB 數(shù)據(jù)庫(kù)和集合,并捕獲其中的文檔增加、更新、替換、刪除等變更操作。

Apache Paimon (incubating) 是一項(xiàng)流式數(shù)據(jù)湖存儲(chǔ)技術(shù),可以為用戶提供高吞吐、低延遲的數(shù)據(jù)攝入、流式訂閱以及實(shí)時(shí)查詢能力。

Paimon CDC

Paimon CDC 是整合了 Flink CDC、Kafka、Paimon 的入湖工具,幫助你更好更方便的完成一鍵入湖。

你可以通過?Flink SQL?或者?Flink DataStream API?將?Flink CDC?數(shù)據(jù)寫入?Paimon?中,也可以通過Paimon?提供的?CDC?工具來完成入湖。那這兩種方式有什么區(qū)別呢?

paimon-flink-action-0.6.0-incubating.jar,大數(shù)據(jù)(Hadoop)內(nèi)容分享,Flink 內(nèi)容分享,flink,mongodb,大數(shù)據(jù)

上圖是使用?Flink SQL?來完成入湖,簡(jiǎn)單,但是當(dāng)源表添加新列后,同步作業(yè)不會(huì)同步新的列,下游?Paimon?表也不會(huì)增加新列。

paimon-flink-action-0.6.0-incubating.jar,大數(shù)據(jù)(Hadoop)內(nèi)容分享,Flink 內(nèi)容分享,flink,mongodb,大數(shù)據(jù)

上圖是使用?Paimon CDC?工具來同步數(shù)據(jù),可以看到,當(dāng)源表發(fā)生列的新增后,流作業(yè)會(huì)自動(dòng)新增列的同步,并傳導(dǎo)到下游的?Paimon?表中,完成?Schema Evolution?的同步。

另外?Paimon CDC?工具也提供了整庫(kù)同步:

paimon-flink-action-0.6.0-incubating.jar,大數(shù)據(jù)(Hadoop)內(nèi)容分享,Flink 內(nèi)容分享,flink,mongodb,大數(shù)據(jù)

整庫(kù)同步可以幫助你:

  1. 一個(gè)作業(yè)同步多張表,以低成本的方式同步大量小表

  2. 作業(yè)里同時(shí)自動(dòng)進(jìn)行 Schema Evolution

  3. 新表將會(huì)被自動(dòng)進(jìn)行同步,你不用重啟作業(yè),全自動(dòng)完成

Demo 說明

你可以跟隨?Demo?步驟體驗(yàn)?Paimon CDC?的全自動(dòng)同步之旅,Demo?展示同步?Mongo DB?的數(shù)據(jù)到Paimon?中,如下圖。

paimon-flink-action-0.6.0-incubating.jar,大數(shù)據(jù)(Hadoop)內(nèi)容分享,Flink 內(nèi)容分享,flink,mongodb,大數(shù)據(jù)

以下的?Demo?使用?Flink?來完成入湖,使用?Spark SQL?來查詢,當(dāng)然你可以使用?Flink SQL?來查詢,或者使用其它計(jì)算引擎,包括?Trino、Presto、StarRocks、Doris?、Hive?等等。

Demo 準(zhǔn)備

步驟一:

首先下載?MongoDB Community Server,免費(fèi)版,不用交錢。

https://www.mongodb.com/try/download/community

啟動(dòng)?MongoDB Server:

mkdir?/tmp/mongodata?./mongod --replSet rs0 --dbpath /tmp/mongodata

注意:這里開啟了replSet,詳見?MongoDB?文檔,只有開啟了?replSet?的庫(kù)才會(huì)產(chǎn)生?changelog,也就才會(huì)被?Flink Mongo CDC?可以增量讀取?CDC?數(shù)據(jù)。

步驟二:

下載?MongoDB Shell:

https://www.mongodb.com/try/download/shell

并啟動(dòng):

./mongosh

另外需要初始化?replSet,否者?MongoDB Server?會(huì)一直報(bào)錯(cuò)。

rs.initiate()

步驟三:

下載?Flink,請(qǐng)到官網(wǎng)下載最新?Flink:

https://www.apache.org/dyn/closer.lua/flink/flink-1.18.0/flink-1.18.0-bin-scala_2.12.tgz

并依次下載以下?Jars?到?Flink?的?lib?目錄中:

paimon-flink-1.18-0.6-*.jar,paimon-flink?集成?Jar:

https://repository.apache.org/snapshots/org/apache/paimon/paimon-flink-1.18/0.6-SNAPSHOT/

flink-shaded-hadoop-*.jar,Paimon?需要?hadoop?相關(guān)依賴:

https://repo.maven.apache.org/maven2/org/apache/flink/flink-shaded-hadoop-2-uber/2.8.3-10.0/flink-shaded-hadoop-2-uber-2.8.3-10.0.jar

flink-sql-connector-mongodb-cdc-*.jar:

https://repo1.maven.org/maven2/com/ververica/flink-sql-connector-mongodb-cdc/2.4.2/flink-sql-connector-mongodb-cdc-2.4.2.jar

在?flink/conf/flink-conf.yaml?文件中設(shè)置?checkpoint?間隔:

execution.checkpointing.interval: 10 s

生產(chǎn)中不推薦使用此間隔,太快會(huì)產(chǎn)生大量文件導(dǎo)致?Cost?上升,一般推薦的?Checkpoint?間隔是?1 - 5?分鐘。

啟動(dòng)?Flink?集群:

./bin/start-cluster.sh

啟動(dòng)?Flink?同步任務(wù):

./bin/flink?run?lib/paimon-flink-action-0.6-*.jar   mongodb-sync-database?   --warehouse?/tmp/warehouse1???--database?test???--mongodb-conf?hosts=127.0.0.1:27017???--mongodb-conf?database=test???--table-conf?bucket=1

參數(shù)說明:

  1. Warehouse 指定 paimon 所在文件系統(tǒng)目錄,如你有 HDFS 集群或者對(duì)象存儲(chǔ),可以替換成你的目錄。

  2. MongoDB 相關(guān)配置,如有密碼,請(qǐng)?zhí)顚懨艽a。

  3. 最后指定 bucket 個(gè)數(shù),目前整庫(kù)同步只支持了固定 Bucket 的表,如有特殊需求,可以修改個(gè)別表的 Bucket 個(gè)數(shù)。

paimon-flink-action-0.6.0-incubating.jar,大數(shù)據(jù)(Hadoop)內(nèi)容分享,Flink 內(nèi)容分享,flink,mongodb,大數(shù)據(jù)

可以看到,作業(yè)已成功啟動(dòng),拓?fù)渲饕齻€(gè)節(jié)點(diǎn):

  1. Source:Flink MongoDB CDC Source,并完成 Schema Evolution 和自動(dòng)加表。

  2. CDC MultiplexWriter:復(fù)雜多個(gè)表的 Paimon 表 Writer,自動(dòng)動(dòng)態(tài)加表。

  3. Multiplex Global Committer:兩階段提交的文件提交節(jié)點(diǎn)。

Writer 和 Committer 都有可能成為瓶頸,Writer 和 Committer 的并發(fā)都可以通過 Flink 的配置影響。

你可以考慮打開全異步模式來避免 Writer 的 Compaction 瓶頸:

https://paimon.apache.org/docs/master/maintenance/write-performance/#asynchronous-compaction

步驟四:

下載?Spark,請(qǐng)到官網(wǎng)下載最新版本:

https://spark.apache.org/downloads.html

下載?Paimon Spark?集成?Jar:

https://repository.apache.org/content/groups/snapshots/org/apache/paimon/paimon-spark-3.5/0.6-SNAPSHOT/

啟動(dòng)?Spark SQL:

./bin/spark-sql???--conf spark.sql.catalog.paimon=org.apache.paimon.spark.SparkCatalog??--conf?spark.sql.catalog.paimon.warehouse=file:/tmp/warehouse1

使用?Paimon Catalog,指定?Database:

USE?paimon;USE rs0;

Demo 開始

步驟一:

我們首先測(cè)試下寫入的數(shù)據(jù)可以被成功讀取到。

我們先給?MongoDB?插入一條數(shù)據(jù):

db.orders.insertOne({id: 1, price: 5})

然后我們?cè)?Spark SQL?里查詢:

paimon-flink-action-0.6.0-incubating.jar,大數(shù)據(jù)(Hadoop)內(nèi)容分享,Flink 內(nèi)容分享,flink,mongodb,大數(shù)據(jù)

可以看到這條數(shù)據(jù)被同步到?Paimon?里,并且可以看到?orders?表的?Schema?里多了一列?“_id”,這列是MongoDB?自動(dòng)生成的隱含的主鍵。

步驟二:

我們?cè)賮砜纯锤率侨绾伪煌降摹?/p>

在?Mongo Shell?里更新下數(shù)據(jù):

db.orders.update({id: 1}, {$set: { price: 8 }})

Spark?里查詢:

paimon-flink-action-0.6.0-incubating.jar,大數(shù)據(jù)(Hadoop)內(nèi)容分享,Flink 內(nèi)容分享,flink,mongodb,大數(shù)據(jù)

數(shù)據(jù)的?price?被更新為?8

步驟三:

我們?cè)賮砜纯刺砑幼侄蔚耐角闆r。

在?Mongo Shell?里新插入一條數(shù)據(jù),多了一列:

db.orders.insertOne({id: 2, price: 6, desc: “haha”})

Spark?里查詢:

paimon-flink-action-0.6.0-incubating.jar,大數(shù)據(jù)(Hadoop)內(nèi)容分享,Flink 內(nèi)容分享,flink,mongodb,大數(shù)據(jù)

可以看到,Paimon?對(duì)應(yīng)的表里已經(jīng)新增了一列,查詢數(shù)據(jù)顯示,老的數(shù)據(jù)默認(rèn)值為?NULL。

步驟四:

我們?cè)賮砜纯葱略霰淼耐角闆r。

在?Mongo Shell?里新插入一張表的數(shù)據(jù):

db.brands.insertOne({id: 1, brand: “NBA”})

Spark?里查詢:

paimon-flink-action-0.6.0-incubating.jar,大數(shù)據(jù)(Hadoop)內(nèi)容分享,Flink 內(nèi)容分享,flink,mongodb,大數(shù)據(jù)

Paimon?里已經(jīng)自動(dòng)多出來一張表,數(shù)據(jù)也被同步過來。

總結(jié)

通過上面的操作你感受到了嗎,通過 Paimon CDC 的入湖程序可以讓你全自動(dòng)的同步業(yè)務(wù)數(shù)據(jù)庫(kù)到?Paimon?里,數(shù)據(jù)、Schema Evolution、新增表,全部被自動(dòng)完成,你只用管好這一個(gè)?Flink?作業(yè)即可。這套入湖程序已經(jīng)被部署到各行各業(yè),各個(gè)公司里,給業(yè)務(wù)數(shù)據(jù)帶來非常方便的鏡像到湖存儲(chǔ)里面的能力。

更有其它數(shù)據(jù)源等你來體驗(yàn):Mysql、Kafka、MongoDB、Pulsar、PostgresSQL。

Paimon?的長(zhǎng)期使命包括:

  • 極致易用性、高性能的數(shù)據(jù)入湖,方便的湖存儲(chǔ)管理,豐富生態(tài)的查詢。

  • 方便的數(shù)據(jù)流讀,與?Flink?生態(tài)的良好集成,給業(yè)務(wù)帶來1分鐘新鮮度的數(shù)據(jù)。

  • 加強(qiáng)的?Append?數(shù)據(jù)處理,時(shí)間旅行、數(shù)據(jù)排序帶來高效的查詢,升級(jí)?Hive?數(shù)倉(cāng)。文章來源地址http://www.zghlxwxcb.cn/news/detail-809360.html

到了這里,關(guān)于Flink 內(nèi)容分享(二十一):通過Flink CDC一鍵整庫(kù)同步MongoDB到Paimon的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(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)文章

  • Flink 內(nèi)容分享(二十):這三種場(chǎng)景,建議使用Flink

    Flink 內(nèi)容分享(二十):這三種場(chǎng)景,建議使用Flink

    目錄 01 事件驅(qū)動(dòng)型應(yīng)用 02 數(shù)據(jù)分析型應(yīng)用 03 數(shù)據(jù)管道型應(yīng)用 Flink的應(yīng)用場(chǎng)景十分廣泛,下面介紹3種常見的應(yīng)用。 在許多場(chǎng)景中,需要處理的數(shù)據(jù)往往來自事件。小到一些交互式的用戶行為,大到一些復(fù)雜的業(yè)務(wù)操作,它們都會(huì)被轉(zhuǎn)化成一條條數(shù)據(jù),進(jìn)而形成數(shù)據(jù)流(事件

    2024年01月16日
    瀏覽(20)
  • Flink 內(nèi)容分享(二十七):Hadoop vs Spark vs Flink——大數(shù)據(jù)框架比較

    大數(shù)據(jù)開發(fā)離不開各種框架,我們通過學(xué)習(xí) Apache Hadoop、Spark 和 Flink 之間的特征比較,可以從側(cè)面了解要學(xué)習(xí)的內(nèi)容。眾所周知,Hadoop vs Spark vs Flink是快速占領(lǐng) IT 市場(chǎng)的三大大數(shù)據(jù)技術(shù),大數(shù)據(jù)崗位幾乎都是圍繞它們展開。 本文,將詳細(xì)介紹三種框架之間的區(qū)別。 Hadoop:為

    2024年02月01日
    瀏覽(39)
  • 數(shù)據(jù)倉(cāng)庫(kù)內(nèi)容分享(十):CDC 技術(shù)

    數(shù)據(jù)倉(cāng)庫(kù)內(nèi)容分享(十):CDC 技術(shù)

    目錄 成為數(shù)據(jù)治理專家: CDC 技術(shù) CDC 概述 CDC 技術(shù)應(yīng)用場(chǎng)景 對(duì)比常見的開源 CDC 方案 Sqoop DataX Flink CDC Debezium Canal CDC 的全稱是? Change Data Capture ?(變更數(shù)據(jù)捕獲) ,在廣義的概念上,只要是能捕獲數(shù)據(jù)變更的技術(shù),我們都可以稱之為 CDC 。目前通常描述的 CDC 技術(shù)主要面向數(shù)

    2024年02月20日
    瀏覽(32)
  • Doris通過Flink CDC接入MySQL實(shí)戰(zhàn)

    1. 創(chuàng)建MySQL庫(kù)表,寫入demo數(shù)據(jù) 登錄測(cè)試MySQL 創(chuàng)建MySQL庫(kù)表,寫入demo數(shù)據(jù) 注意:MySQL需要開通bin-log log_bin=mysql_bin binlog-format=Row server-id=1 2. 創(chuàng)建Doris庫(kù)表 創(chuàng)建Doris表 3. 啟動(dòng)Flink 啟動(dòng)flink 創(chuàng)建Flink 任務(wù): 輸入如下地址,查看flink任務(wù) http://localhost:8081/#/job/running 數(shù)據(jù)驗(yàn)證:?jiǎn)?dòng)后可

    2023年04月10日
    瀏覽(23)
  • 【FLINK】Kafka數(shù)據(jù)源通過Flink-cdc進(jìn)行實(shí)時(shí)數(shù)據(jù)同步

    【FLINK】Kafka數(shù)據(jù)源通過Flink-cdc進(jìn)行實(shí)時(shí)數(shù)據(jù)同步

    CDC是Change Data Capture的縮寫,中文意思是 變更數(shù)據(jù)獲取 ,flink-cdc的作用是,通過flink捕獲數(shù)據(jù)源的事務(wù)變動(dòng)操作記錄,包括數(shù)據(jù)的增刪改操作等,根據(jù)這些記錄可作用于對(duì)目標(biāo)端進(jìn)行實(shí)時(shí)數(shù)據(jù)同步。 下圖是flink-cdc最新支持的數(shù)據(jù)源類型: kafka的數(shù)據(jù)源要通過flink-cdc進(jìn)行實(shí)時(shí)數(shù)

    2024年02月12日
    瀏覽(36)
  • Chrome 開發(fā)者工具 第二十一章(替換 Web 內(nèi)容和 HTTP 響應(yīng))

    Chrome 開發(fā)者工具 第二十一章(替換 Web 內(nèi)容和 HTTP 響應(yīng))

    Chrome 開發(fā)者工具的本地替換功能是一個(gè)強(qiáng)大的工具,它允許開發(fā)者在不修改服務(wù)器代碼的情況下模擬前端更改。這個(gè)功能特別適用于那些需要快速測(cè)試前端更改,但又不想或不能等待后端更新的情況。 本地替換的工作原理 本地替換通過在開發(fā)者工具中進(jìn)行更改,并將這些更

    2024年02月22日
    瀏覽(21)
  • Flink CDC 2.4 正式發(fā)布,5分鐘了解CDC 2.4新內(nèi)容,新增 Vitess 數(shù)據(jù)源,更多連接器支持增量快照,升級(jí) Debezium 版本

    Flink CDC 2.4 正式發(fā)布,5分鐘了解CDC 2.4新內(nèi)容,新增 Vitess 數(shù)據(jù)源,更多連接器支持增量快照,升級(jí) Debezium 版本

    來源:https://ververica.github.io/flink-cdc-connectors/master/ Flink CDC [1] 是基于數(shù)據(jù)庫(kù)的日志 CDC 技術(shù),實(shí)現(xiàn)了全增量一體化讀取的數(shù)據(jù)集成框架。配合 Flink 優(yōu)秀的管道能力和豐富的上下游生態(tài),F(xiàn)link CDC 可以高效實(shí)現(xiàn)海量數(shù)據(jù)的實(shí)時(shí)集成。 具體關(guān)于Flink CDC是什么?可以看下這篇文字 作

    2024年02月12日
    瀏覽(25)
  • flink cdc MySQL2Doris 案例分享 解決分庫(kù)多表同步

    使用flink cdc,完成mysql 多庫(kù) 多表同時(shí)同步到doris中 flink 1.14.4 doris 1.1.0 flink-connector-mysql-cdc 2.2.1版本 一直會(huì)報(bào)異常 java.lang.NoClassDefFoundError: org/apache/flink/shaded/guava18/com/google/common/util/concurrent/ThreadFactoryBuilder 從官網(wǎng)下載依賴,然后本地添加進(jìn)去flink-sql-connector-mysql-cdc-2.2.0 由于 U

    2023年04月09日
    瀏覽(19)
  • 一鍵實(shí)現(xiàn) Oracle 數(shù)據(jù)整庫(kù)同步至 Apache Doris

    一鍵實(shí)現(xiàn) Oracle 數(shù)據(jù)整庫(kù)同步至 Apache Doris

    在實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù)建設(shè)或遷移的過程中,用戶必須考慮如何高效便捷將關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)同步到實(shí)時(shí)數(shù)倉(cāng)中來,Apache Doris 用戶也面臨這樣的挑戰(zhàn)。而對(duì)于從 Oracle 到 Doris 的數(shù)據(jù)同步,通常會(huì)用到以下兩種常見的同步方式: OGG/XStream/LogMiner 工具: 通過該方式先將數(shù)據(jù)同步到 Kafka

    2024年02月11日
    瀏覽(24)
  • Flink 內(nèi)容分享(十四):美團(tuán) Flink 資源調(diào)度優(yōu)化實(shí)踐

    Flink 內(nèi)容分享(十四):美團(tuán) Flink 資源調(diào)度優(yōu)化實(shí)踐

    目錄 相關(guān)背景和問題 解決思路分析 資源調(diào)度優(yōu)化實(shí)踐 資源冗余申請(qǐng) 黑名單機(jī)制 故障節(jié)點(diǎn)感知策略 異常節(jié)點(diǎn)處理機(jī)制 規(guī)避慢節(jié)點(diǎn)場(chǎng)景 其他優(yōu)化 后續(xù)規(guī)劃 在計(jì)算規(guī)模方面,目前我們有 7w 多作業(yè),部署在 1.7w 臺(tái)機(jī)器上,高峰期流量達(dá)到每秒 9 億條。在部署方式上,目前我們

    2024年02月02日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包