This repository implements connectors to read and write Pravega Streams with Apache Flink stream processing framework.
The connectors can be used to build end-to-end stream processing pipelines (see Samples) that use Pravega as the stream storage and message bus, and Apache Flink for computation over the streams.
- Exactly-once processing guarantees for both Reader and Writer, supporting end-to-end exactly-once processing pipelines
- Seamless integration with Flink's checkpoints and savepoints.
- Parallel Readers and Writers supporting high throughput and low latency processing.
- Table API support to access Pravega Streams for both Batch and Streaming use case.
The master branch will always have the most recent supported versions of Flink and Pravega.
Git Branch | Pravega Version | Java Version To Build Connector | Java Version To Run Connector | Flink Version | Status | Artifact Link |
---|---|---|---|---|---|---|
master | 0.10 | Java 11 | Java 8 or 11 | 1.13 | Under Development | https://github.com/pravega/flink-connectors/packages/910737 |
r0.10-flink1.12 | 0.10 | Java 11 | Java 8 or 11 | 1.12 | Under Development | https://github.com/pravega/flink-connectors/packages/887087 |
r0.10-flink1.11 | 0.10 | Java 11 | Java 8 or 11 | 1.11 | Under Development | https://github.com/pravega/flink-connectors/packages/904171 |
r0.9 | 0.9 | Java 11 | Java 8 or 11 | 1.11 | Released | https://repo1.maven.org/maven2/io/pravega/pravega-connectors-flink-1.11_2.12/0.9.1/ |
r0.9-flink1.10 | 0.9 | Java 11 | Java 8 or 11 | 1.10 | Released | https://repo1.maven.org/maven2/io/pravega/pravega-connectors-flink-1.10_2.12/0.9.1/ |
r0.9-flink1.9 | 0.9 | Java 11 | Java 8 or 11 | 1.9 | Released | https://repo1.maven.org/maven2/io/pravega/pravega-connectors-flink-1.9_2.12/0.9.1/ |
Building the connectors from the source is only necessary when we want to use or contribute to the latest (unreleased) version of the Pravega Flink connectors.
The connector project is linked to a specific version of Pravega, based on the pravegaVersion
field in gradle.properties
.
Checkout the source code repository by following below steps:
git clone https://github.com/pravega/flink-connectors.git
After cloning the repository, the project can be built (excluding tests) by running the below command in the project root directory flink-connectors.
./gradlew clean build -x test
Check out documents here to learn how to build your own applications using Flink connector for Pravega.
More examples on how to use the connectors with Flink application can be found in Pravega Samples repository.
Don't hesitate to ask! Contact the developers and community on Slack (signup) if you need any help. Open an issue if you found a bug on Github Issues.
Flink connectors for Pravega is 100% open source and community-driven. All components are available under Apache 2 License on GitHub.