Sobre el proyecto
Apache Beam proporciona un modelo unificado para construir canalizaciones de procesamiento de datos que pueden manejar datos acotados (batch) e ilimitados (streaming). Desacopla la definición de la canalización del entorno de ejecución, lo que permite a los desarrolladores escribir su lógica una sola vez y ejecutarla en varios backends de procesamiento distribuido.
Los componentes clave del modelo Beam incluyen:
- PCollection: Representa un conjunto de datos de cualquier tamaño.
- PTransform: Representa un cómputo que transforma los datos de entrada en datos de salida.
- Pipeline: Administra el grafo acíclico dirigido (DAG) de transformaciones y colecciones.
- PipelineRunner: Determina el entorno de ejecución.
Beam proporciona SDKs para Java, Python y Go. Admite múltiples runners para la ejecución, incluyendo:
- DirectRunner y PrismRunner (ejecución local)
- Google Cloud Dataflow
- Apache Flink
- Apache Spark
- Hazelcast Jet
- Twister2