| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A comprehensive, vendor-independent Apache Beam learning environment designed for developers, data engineers, and analysts who want to master modern data pipeline engineering through hands-on practice.
15 progressive labs with 120+ exercises covering Apache Beam fundamentals, pipeline development, streaming processing, and production deployment. Completely free and open source. Built for learners, by learners.
This educational resource fills the gap between theoretical knowledge and practical skills in Apache Beam and modern data pipeline engineering:
Our labs are designed to build knowledge progressively:
Each lab includes:
┌─────────────────────────────────────────────────────────────┐ │ Apache Beam Code Practice │ │ Data Pipeline Learning Environment │ ├─────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ Apache Beam Unified Model │ │ │ │ - PCollection abstraction │ │ │ │ - Transform functions │ │ │ │ - Pipeline I/O connectors │ │ │ │ - Windowing and triggers │ │ │ └──────────────────────────────────────────────────────┘ │ │ ↓ │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ Pipeline Development │ │ │ │ - Batch processing patterns │ │ │ │ - Streaming processing patterns │ │ │ │ - State management │ │ │ │ - Windowing strategies │ │ │ └──────────────────────────────────────────────────────┘ │ │ ↓ │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ Execution Runners │ │ │ │ - DirectRunner (local) │ │ │ │ - Dataflow (cloud) │ │ │ │ - Spark (cluster) │ │ │ │ - Flink (streaming) │ │ │ └──────────────────────────────────────────────────────┘ │ │ ↓ │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ Data Sources & Sinks │ │ │ │ - File systems (GCS, S3, HDFS) │ │ │ │ - Pub/Sub, Kafka (streaming) │ │ │ │ - Databases (BigQuery, Spanner) │ │ │ │ - Custom I/O connectors │ │ │ └──────────────────────────────────────────────────────┘ │ │ ↓ │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ Production Operations │ │ │ │ - Pipeline deployment │ │ │ │ - Monitoring and logging │ │ │ │ - Testing and debugging │ │ │ │ - Performance optimization │ │ │ └──────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────┘
| Level | Labs | Time per Lab | What It Tests |
|---|---|---|---|
| Beginner | Labs 0-2 | 30-60 min | Basic setup, pipeline concepts, simple transforms |
| Intermediate | Labs 3-6 | 45-75 min | Advanced transforms, I/O, windowing, state |
| Advanced | Labs 7-10 | 60-120 min | Streaming, production, deployment, monitoring |
The environment includes comprehensive sample datasets for hands-on learning:
# Generate and load sample data
python3 scripts/generate_sample_data.py
python3 scripts/load_sample_data.pyFollow our recommended learning path:
cd beam-code-practice
pip install -r requirements.txt
python3 scripts/setup.pycd beam-code-practice
docker-compose up -d# Install Apache Beam
pip install apache-beam[gcp]
# Install additional runners
pip install apache-beam[gcp] # For Dataflow
pip install apache-beam[spark] # For Sparkimport apache_beam as beam
# Set pipeline options
pipeline_options = {
'runner': 'DirectRunner',
'project': 'your-project',
'region': 'us-central1',
'temp_location': 'gs://your-bucket/temp'
}Comprehensive wiki documentation is available with detailed guides:
Wiki Guides (Comprehensive learning materials):
Interactive Jupyter notebooks for hands-on learning:
Continue your learning journey with these related repositories:
This environment uses only Apache 2.0 licensed tools:
No proprietary cloud services or consoles required.
This is a practice environment for learning. Feel free to extend labs, add examples, or improve the setup process.
Disclaimer: This is an independent educational resource for learning Apache Beam and modern data pipeline engineering. It is not affiliated with, endorsed by, or sponsored by Apache Beam or any vendor.
This repository is an open educational resource built for the data engineering community. We believe in learning together and sharing knowledge.
We welcome contributions that improve the educational value:
See CONTRIBUTING.md for detailed contribution guidelines.
Apache License 2.0
| Back | FazBrowse Home | New Git URL |