About this project
Apache Beam provides a unified model for constructing data processing pipelines that can handle both bounded (batch) and unbounded (streaming) data. It decouples the pipeline definition from the execution environment, allowing developers to write their logic once and run it on various distributed processing backends.
Key components of the Beam model include:
- PCollection: Represents a dataset of any size.
- PTransform: Represents a computation that transforms input data into output data.
- Pipeline: Manages the directed acyclic graph (DAG) of transforms and collections.
- PipelineRunner: Determines the execution environment.
Beam provides SDKs for Java, Python, and Go. It supports multiple runners for execution, including:
- DirectRunner and PrismRunner (local execution)
- Google Cloud Dataflow
- Apache Flink
- Apache Spark
- Hazelcast Jet
- Twister2