社區(qū)版CDC
本文為您介紹如何在阿里云實(shí)時(shí)計(jì)算Flink版中使用社區(qū)版CDC(Change Data Capture)連接器,以及更改連接器名稱。
社區(qū)版CDC連接器是遵循Apache 2.0開源協(xié)議的社區(qū)開源項(xiàng)目,與阿里云實(shí)時(shí)計(jì)算Flink版產(chǎn)品提供的商業(yè)版連接器在服務(wù)支持及SLA存在差異:
在使用時(shí),如果您遇到配置失敗、作業(yè)失敗或數(shù)據(jù)丟失等問(wèn)題,需要到開源社區(qū)尋找對(duì)應(yīng)問(wèn)題的解決方案,阿里云實(shí)時(shí)計(jì)算Flink團(tuán)隊(duì)對(duì)使用社區(qū)版CDC連接器問(wèn)題不提供技術(shù)支持服務(wù)。
社區(qū)版CDC連接器的SLA需要您自行保障。
可用的CDC連接器列表
CDC連接器 | 說(shuō)明 |
已經(jīng)在實(shí)時(shí)計(jì)算Flink版中提供,您無(wú)需使用社區(qū)版CDC連接器。 | |
左側(cè)列表中這些未商業(yè)化的社區(qū)版CDC連接器的使用方法,請(qǐng)參見社區(qū)版CDC連接器使用方法。 說(shuō)明 在使用社區(qū)版CDC連接器或者自定義連接器時(shí),如果已經(jīng)存在同名實(shí)時(shí)計(jì)算Flink版內(nèi)置連接器或自定義連接器,請(qǐng)更改默認(rèn)的連接器名字,避免與內(nèi)置連接器沖突。其中SQL Server CDC和Db2 CDC需要修改社區(qū)默認(rèn)的連接器名字并重新打包,例如將sqlserver-cdc改名為sqlserver-cdc-test,詳情請(qǐng)參見更改連接器名字。 |
CDC與VVR版本對(duì)應(yīng)關(guān)系
VVR版本 | 社區(qū)版本 |
vvr-4.0.0-flink-1.13 ~ vvr-4.0.6-flink-1.13 | release-1.4 |
vvr-4.0.7-flink-1.13 ~ vvr-4.0.9-flink-1.13 | release-2.0 |
vvr-4.0.10-flink-1.13 ~ vvr-4.0.12-flink-1.13 | release-2.1 |
vvr-4.0.13-flink-1.13 ~ vvr-4.0.14-flink-1.13 | release-2.2 |
vvr-4.0.15-flink-1.13 ~ vvr-6.0.2-flink-1.15 | release-2.3 |
vvr-6.0.2-flink-1.15 ~ vvr-8.0.5-flink-1.17 | release-2.4 |
vvr-8.0.1-flink-1.17 ~ vvr-8.0.7-flink-1.17 | release-3.0 |
社區(qū)版CDC連接器使用方法
SQL作業(yè)
在Apache Flink CDC頁(yè)面,單擊目標(biāo)社區(qū)發(fā)行版本,推薦您使用V3.0.1(穩(wěn)定版本)。
說(shuō)明為了避免兼容性問(wèn)題,請(qǐng)盡量選擇和VVR版本相對(duì)應(yīng)的Release版本。版本對(duì)應(yīng)關(guān)系請(qǐng)參見CDC與VVR版本對(duì)應(yīng)關(guān)系。
在目標(biāo)CDC連接器頁(yè)面,單擊下載JAR包。
說(shuō)明您也可以前往Maven中央倉(cāng)庫(kù)下載對(duì)應(yīng)的JAR包。
登錄實(shí)時(shí)計(jì)算控制臺(tái),并在左側(cè)導(dǎo)航欄單擊數(shù)據(jù)連接。
在數(shù)據(jù)連接頁(yè)面,單擊創(chuàng)建自定義連接器,并上傳第2步中下載的JAR文件。
詳情請(qǐng)參見管理自定義連接器。
編寫SQL作業(yè)時(shí),將社區(qū)版CDC連接器的名字作為
connector
參數(shù)取值。各連接器支持的參數(shù)請(qǐng)參考Apache Flink CDC。
JAR作業(yè)
如需在JAR作業(yè)中使用對(duì)應(yīng)的連接器,需在
pom.xml
文件中聲明如下依賴。<dependency> <groupId>com.ververica</groupId> <artifactId>flink-connector-${需要使用的連接器名稱}-cdc</artifactId> <version>${對(duì)應(yīng)的社區(qū)連接器版本}</version> </dependency>
Maven倉(cāng)庫(kù)中僅有release版,不包含snapshot版本。如需使用快照版本,可以克隆GitHub倉(cāng)庫(kù),并自行編譯快照版本的JAR包。
在代碼中
import
對(duì)應(yīng)的連接器實(shí)現(xiàn)類,并根據(jù)文檔說(shuō)明使用。重要請(qǐng)注意區(qū)分具有不同Artifact ID的
flink-connector-xxx
和flink-sql-connector-xxx
。flink-connector-xxx
:僅包含連接器本體代碼,未包含其他依賴,如需使用需要自行聲明依賴。flink-sql-connector-xxx
:將全部依賴打包到單個(gè)JAR包中,可以直接使用。
請(qǐng)根據(jù)需求選擇,比如Flink開發(fā)控制臺(tái)上創(chuàng)建自定義連接器時(shí),采用
flink-sql-connector-xxx
。
更改連接器名字
本文以社區(qū)版SQL Server CDC連接器為例說(shuō)明如何更改連接器名稱。
克隆GitHub倉(cāng)庫(kù),切換到指定版本的分支代碼。
更改SQL Server CDC連接器工廠類的Identifier。
//com.ververica.cdc.connectors.sqlserver.table.SqlServerTableFactory @Override public String factoryIdentifier() { return "sqlserver-cdc-test"; }
對(duì)flink-sql-connector-sqlserver-cdc子模塊編譯打包。
在數(shù)據(jù)連接頁(yè)面,單擊創(chuàng)建自定義連接器,并上傳第3步中打包好的JAR文件。
詳情請(qǐng)參見管理自定義連接器。
按照SQL作業(yè)步驟編寫SQL作業(yè)時(shí),將連接器的名字作為
connector
參數(shù)傳入,即sqlserver-cdc-test
。