Datastream連接器的依賴和使用
如果您通過DataStream的方式讀寫資料,則需要使用對應的DataStream連接器串連Realtime ComputeFlink版。Maven中央庫中已經放置了VVR DataStream連接器,以供您在作業開發時直接使用。
重要
請使用我們在支援的連接器中指明提供DataStream API的連接器。如果某個連接器未註明提供DataStream API,請勿自行使用,因為未來介面和參數可能會被修改。
DataStream連接器均添加了商業化加密保護,直接運行會報錯。如需本地調試和運行,請參見本地運行和調試包含連接器的作業。
您可以選擇以下任意一種方式來使用連接器:
(推薦)上傳連接器JAR包作為附加依賴檔案引入
直接將連接器作為專案依賴打進作業JAR包
在作業的Maven POM檔案中添加您需要的連接器作為專案依賴,其範圍為provided。
<dependency>
<groupId>com.alibaba.ververica</groupId>
<artifactId>ververica-connector-mysql</artifactId>
<version>${vvr.version}</version>
<scope>provided</scope>
</dependency>
如果您有開發新連接器或者拓展現有連接器功能的需求,專案還需要依賴連接器公用包flink-connector-base
或ververica-connector-common
。
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-base</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba.ververica</groupId>
<artifactId>ververica-connector-common</artifactId>
<version>${vvr.version}</version>
</dependency>
部署JAR作業並在附加依賴檔案項中添加相應的連接器JAR包。您可以上傳您自己開發的連接器,也可以上傳Realtime ComputeFlink版提供的連接器。

在作業的Maven POM檔案中添加您需要的連接器作為專案依賴。例如引入Kafka連接器和MySQL連接器。
<dependency>
<groupId>com.alibaba.ververica</groupId>
<artifactId>ververica-connector-kafka</artifactId>
<version>${vvr.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba.ververica</groupId>
<artifactId>ververica-connector-mysql</artifactId>
<version>${vvr.version}</version>
</dependency>
如果您有開發新連接器或者拓展現有連接器功能的需求,專案還需要依賴連接器公用包flink-connector-base
或ververica-connector-common
。
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-base</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba.ververica</groupId>
<artifactId>ververica-connector-common</artifactId>
<version>${vvr.version}</version>
</dependency>
重要
為了避免JAR包依賴衝突,請您注意以下幾點:
${flink.version}
為作業運行對應的Flink版本。請使用與作業部署頁面選擇的VVR引擎所使用的Flink版本一致。例如您在部署頁面選擇的引擎為vvr-8.0.9-flink-1.17
,其對應的Flink版本為1.17.2
,建議您使用最新的引擎,具體版本詳見引擎版本。
Flink相關依賴,範圍請使用provided,即在依賴中添加<scope>provided</scope>
。主要包含org.apache.flink
組下以flink-
開頭的非Connector依賴。
Flink原始碼中只有明確標註了@Public或者@PublicEvolving的才是公開供使用者調用的方法,阿里雲Realtime ComputeFlink版只對這些方法的相容性做出產品保證。
如果是Flink服務內建的Connector支援的DataStream API,建議使用其內建的依賴。