本文為您介紹如何使用DataStream連接器,即通過DataStream的方式讀寫資料。
Datastream連接器的依賴和使用
如果您通過DataStream的方式讀寫資料,則需要使用對應的DataStream連接器串連Realtime ComputeFlink版。Maven中央庫中已經放置了VVR DataStream連接器,以供您在作業開發時直接使用。
請使用我們在支援的連接器中指明提供DataStream API的連接器。如果某個連接器未註明提供DataStream API,請勿自行使用,因為未來介面和參數可能會被修改。
DataStream連接器均添加了商業化加密保護,直接運行會報錯。如需本地調試和運行,請參見本地運行和調試包含連接器的作業。
您可以選擇以下任意一種方式來使用連接器:
(推薦)上傳連接器JAR包作為附加依賴檔案引入
在作業的Maven POM檔案中添加您需要的連接器作為專案依賴,其範圍為provided。
說明${vvr.version}是作業運行環境引擎版本,如您的作業運行在vvr-8.0.9-flink-1.17版本引擎上,其對應的Flink版本為1.17.2。建議您使用最新的引擎,具體版本詳見引擎版本。由於將連接器的JAR包作為附加依賴檔案引入,則無需將該依賴打入JAR包中,所以需要聲明範圍為
provided。
<!-- MySQL 連接器依賴 --> <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。<!-- Flink 連接器公用介面基礎依賴 --> <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版提供的連接器。

直接將連接器作為專案依賴打進作業JAR包
在作業的Maven POM檔案中添加您需要的連接器作為專案依賴。例如引入Kafka連接器和MySQL連接器。
說明${vvr.version}是作業運行環境引擎版本,如您的作業運行在vvr-8.0.9-flink-1.17版本引擎上,其對應的Flink版本為1.17.2。建議您使用最新的引擎,具體版本詳見引擎。由於將連接器作為專案依賴直接打入JAR包,它們必須在預設範圍(compile)中。
<!-- Kafka 連接器依賴 --> <dependency> <groupId>com.alibaba.ververica</groupId> <artifactId>ververica-connector-kafka</artifactId> <version>${vvr.version}</version> </dependency> <!-- MySQL 連接器依賴 --> <dependency> <groupId>com.alibaba.ververica</groupId> <artifactId>ververica-connector-mysql</artifactId> <version>${vvr.version}</version> </dependency>如果您有開發新連接器或者拓展現有連接器功能的需求,專案還需要依賴連接器公用包
flink-connector-base或ververica-connector-common。<!-- Flink 連接器公用介面基礎依賴 --> <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,建議使用其內建的依賴。
相關文檔
完整的開發參考樣本詳情請參見JAR作業開發。
更多支援Datastream的連接器請參見支援的連接器。
DataStream連接器均添加了商業化加密保護,直接運行會報錯。如需本地調試和運行,請參見本地運行和調試包含連接器的作業。