Topik ini menjelaskan cara menggunakan konektor DataStream untuk membaca dan menulis data.
Dependensi dan penggunaan konektor DataStream
Untuk menggunakan konektor DataStream dalam membaca dan menulis data, Anda harus terhubung ke Realtime Compute for Apache Flink menggunakan jenis konektor DataStream yang sesuai. Anda dapat menggunakan Ververica Runtime (VVR) DataStream connectors dari repositori pusat Maven untuk mengembangkan draf.
Antarmuka dan parameter konektor mungkin berubah di masa mendatang. Kami sarankan Anda menggunakan konektor yang ditentukan untuk menyediakan API DataStream di Konektor yang Didukung.
Perlindungan enkripsi komersial didukung untuk konektor DataStream. Jika Anda menjalankan penyebaran yang mencakup konektor DataStream, kesalahan akan dilaporkan. Untuk informasi lebih lanjut tentang cara menjalankan atau men-debug penyebaran Realtime Compute for Apache Flink yang mencakup konektor dalam lingkungan lokal, lihat Jalankan atau Debug Penyebaran Flink yang Mencakup Konektor dalam Lingkungan Lokal.
Anda dapat menggunakan konektor dengan salah satu cara berikut:
(Direkomendasikan) Unggah file JAR konektor dan panggil file JAR sebagai file dependensi tambahan
Tambahkan konektor yang diperlukan sebagai dependensi proyek ke file pom.xml proyek Maven untuk draf Anda dan tentukan <scope>provided</scope> untuk dependensi tersebut.
Catatan${vvr.version}menunjukkan versi mesin yang sesuai dengan lingkungan runtime draf. Jika versi mesin draf Anda adalahvvr-8.0.9-flink-1.17, versi Flink adalah1.17.2. Kami sarankan Anda menggunakan versi terbaru VVR. Untuk informasi lebih lanjut, lihat Pembaruan Mesin.Dalam topik ini, file JAR konektor dipanggil sebagai file dependensi tambahan. Dalam hal ini, Anda tidak perlu memaketkan konektor yang diperlukan ke dalam file JAR draf Anda. Oleh karena itu, Anda harus menentukan
<scope>provided</scope>untuk dependensi konektor.
<!-- Dependensi konektor MySQL --> <dependency> <groupId>com.alibaba.ververica</groupId> <artifactId>ververica-connector-mysql</artifactId> <version>${vvr.version}</version> <scope>provided</scope> </dependency>Tambahkan paket publik
flink-connector-baseatauververica-connector-commondari konektor sebagai dependensi proyek jika Anda ingin mengembangkan konektor baru atau menggunakan fitur tambahan dari konektor yang ada.<!-- Dependensi dasar antarmuka publik konektor Flink --> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-base</artifactId> <version>${flink.version}</version> </dependency> <!-- Dependensi dasar antarmuka publik konektor Alibaba Cloud --> <dependency> <groupId>com.alibaba.ververica</groupId> <artifactId>ververica-connector-common</artifactId> <version>${vvr.version}</version> </dependency>Sebarkan draf dan tambahkan paket JAR ke bidang Additional Dependencies dalam kotak dialog Buat Penyebaran Jar. Untuk informasi lebih lanjut, lihat Buat Penyebaran JAR. Anda dapat mengunggah file JAR konektor yang Anda kembangkan atau konektor yang disediakan oleh Realtime Compute for Apache Flink.

Paketkan konektor sebagai dependensi proyek ke dalam file JAR draf Anda
Tambahkan konektor yang diperlukan sebagai dependensi proyek dalam file pom.xml proyek Maven untuk draf Anda. Sebagai contoh, Anda dapat menambahkan konektor Kafka dan MySQL sebagai dependensi proyek ke file pom.xml proyek Maven untuk draf Anda.
Catatan${vvr.version}menunjukkan versi mesin yang sesuai dengan lingkungan runtime draf. Jika versi mesin draf Anda adalahvvr-8.0.9-flink-1.17, versi Flink adalah1.17.2. Kami sarankan Anda menggunakan versi terbaru VVR. Untuk informasi lebih lanjut, lihat Pembaruan Mesin.Dalam topik ini, konektor dikemas sebagai dependensi proyek ke dalam file JAR draf Anda. Dalam hal ini, ruang lingkup default (compile) harus digunakan untuk dependensi.
<!-- Dependensi konektor Kafka --> <dependency> <groupId>com.alibaba.ververica</groupId> <artifactId>ververica-connector-kafka</artifactId> <version>${vvr.version}</version> </dependency> <!-- Dependensi konektor MySQL --> <dependency> <groupId>com.alibaba.ververica</groupId> <artifactId>ververica-connector-mysql</artifactId> <version>${vvr.version}</version> </dependency>Tambahkan paket publik
flink-connector-baseatauververica-connector-commondari konektor sebagai dependensi proyek jika Anda ingin mengembangkan konektor baru atau menggunakan fitur tambahan dari konektor yang ada.<!-- Dependensi dasar antarmuka publik konektor Flink --> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-base</artifactId> <version>${flink.version}</version> </dependency> <!-- Dependensi dasar antarmuka publik konektor Alibaba Cloud --> <dependency> <groupId>com.alibaba.ververica</groupId> <artifactId>ververica-connector-common</artifactId> <version>${vvr.version}</version> </dependency>
Untuk mencegah konflik antara dependensi paket JAR, perhatikan poin-poin berikut:
Gunakan
${flink.version}untuk menentukan versi Flink yang sesuai dengan lingkungan runtime draf. Versi Flink yang ditentukan harus sama dengan versi Flink yang sesuai dengan versi Ververica Runtime (VVR) penyebaran Anda yang ditampilkan di halaman Penyebaran. Sebagai contoh, jika versi mesin yang Anda pilih untuk draf Anda di halaman Penyebaran adalahvvr-8.0.9-flink-1.17, versi Flink adalah1.17.2. Kami sarankan Anda menggunakan versi terbaru VVR. Untuk informasi lebih lanjut, lihat Pembaruan Mesin.Tentukan
<scope>provided</scope>untuk dependensi Apache Flink. Dependensi non-konektor yang namanya dimulai denganflink-dalam gruporg.apache.flinkterutama diperlukan.Panggil hanya metode yang secara eksplisit ditandai dengan @Public atau @PublicEvolving dalam kode sumber Apache Flink. Alibaba Cloud Realtime Compute for Apache Flink hanya menjamin kompatibilitas dengan metode ini.
Gunakan dependensi bawaan Realtime Compute for Apache Flink jika API DataStream yang didukung oleh konektor bawaan Realtime Compute for Apache Flink digunakan.
Referensi
Untuk informasi lebih lanjut tentang cara mengembangkan draf JAR, lihat Kembangkan Draf JAR.
Untuk informasi lebih lanjut tentang konektor DataStream, lihat Konektor yang Didukung.
Perlindungan enkripsi komersial didukung untuk konektor DataStream. Jika Anda menjalankan penyebaran yang mencakup konektor DataStream, kesalahan akan dilaporkan. Untuk informasi lebih lanjut tentang cara menjalankan atau men-debug penyebaran Realtime Compute for Apache Flink yang mencakup konektor dalam lingkungan lokal, lihat Jalankan atau Debug Penyebaran Flink yang Mencakup Konektor dalam Lingkungan Lokal.