本文為您介紹如何在阿里雲Realtime ComputeFlink版中使用社區版CDC(Change Data Capture)連接器,以及更改連接器名稱。
社區版CDC連接器是遵循Apache 2.0開源協議的社區開源專案,與阿里雲Realtime ComputeFlink版產品提供的商業版連接器在服務支援及SLA存在差異:
在使用時,如果您遇到配置失敗、作業失敗或資料丟失等問題,需要到開源社區尋找對應問題的解決方案,阿里雲Realtime ComputeFlink團隊對使用社區版CDC連接器問題不提供支援人員服務。
社區版CDC連接器的SLA需要您自行保障。
可用的CDC連接器列表
CDC連接器 | 說明 |
已經在Realtime ComputeFlink版中提供,您無需使用社區版CDC連接器。 | |
左側列表中這些未商業化的社區版CDC連接器的使用方法,請參見社區版CDC連接器使用方法。 說明 在使用社區版CDC連接器或者自訂連接器時,如果已經存在同名Realtime ComputeFlink版內建連接器或自訂連接器,請更改預設的連接器名字,避免與內建連接器衝突。其中SQL Server CDC和Db2 CDC需要修改社區預設的連接器名字並重新打包,例如將sqlserver-cdc改名為sqlserver-cdc-test,詳情請參見更改連接器名字。 |
CDC與VVR版本對應關係
VVR版本 | 社區版本 |
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 |
社區版CDC連接器使用方法
SQL作業
在Apache Flink CDC頁面,單擊目標社區發行版本,推薦您使用V3.0.1(穩定版本)。
說明為了避免相容性問題,請盡量選擇和VVR版本相對應的Release版本。版本對應關係請參見CDC與VVR版本對應關係。
在目標CDC連接器頁面,單擊下載JAR包。
說明您也可以前往Maven中央倉庫下載對應的JAR包。
登入Realtime Compute控制台,並在左側導覽列單擊資料連線。
在資料連線頁面,單擊建立自訂連接器,並上傳第2步中下載的JAR檔案。
詳情請參見管理自訂連接器。
編寫SQL作業時,將社區版CDC連接器的名字作為
connector
參數取值。各連接器支援的參數請參考Apache Flink CDC。
JAR作業
如需在JAR作業中使用對應的連接器,需在
pom.xml
檔案中聲明如下依賴。<dependency> <groupId>com.ververica</groupId> <artifactId>flink-connector-${需要使用的連接器名稱}-cdc</artifactId> <version>${對應的社區連接器版本}</version> </dependency>
Maven倉庫中僅有release版,不包含snapshot版本。如需使用快照版本,可以複製GitHub倉庫,並自行編譯快照版本的JAR包。
在代碼中
import
對應的連接器實作類別,並根據文檔說明使用。重要請注意區分具有不同Artifact ID的
flink-connector-xxx
和flink-sql-connector-xxx
。flink-connector-xxx
:僅包含連接器本體代碼,未包含其他依賴,如需使用需要自行聲明依賴。flink-sql-connector-xxx
:將全部依賴打包到單個JAR包中,可以直接使用。
請根據需求選擇,比如Flink開發控制台上建立自訂連接器時,採用
flink-sql-connector-xxx
。
更改連接器名字
本文以社區版SQL Server CDC連接器為例說明如何更改連接器名稱。
複製GitHub倉庫,切換到指定版本的分支代碼。
更改SQL Server CDC連接器工廠類的Identifier。
//com.ververica.cdc.connectors.sqlserver.table.SqlServerTableFactory @Override public String factoryIdentifier() { return "sqlserver-cdc-test"; }
對flink-sql-connector-sqlserver-cdc子模組編譯打包。
在資料連線頁面,單擊建立自訂連接器,並上傳第3步中打包好的JAR檔案。
詳情請參見管理自訂連接器。
按照SQL作業步驟編寫SQL作業時,將連接器的名字作為
connector
參數傳入,即sqlserver-cdc-test
。