2.0 KiB
2.0 KiB
CHANGELOG - Educational Airflow Setup
📋 Summary of Changes Made
1. Fixed Docker Compose Structure
- Removed duplicate
services:sections - Added missing service definitions (postgres-metadata, postgres-training, airflow-webserver, airflow-scheduler, airflow-init)
- Configured proper service dependencies and health checks
2. Created Hardcoded Environment Variables
.envfile with all necessary credentials:- Airflow: admin/admin
- PostgreSQL metadata: airflow/airflow
- PostgreSQL training: student/student
3. Implemented Educational DAG Examples
Level 1: Basic Concepts
hello_world_dag.py- Simple PythonOperator tasks with dependencies
Level 2: Intermediate Integration
sql_basic_dag.py- PostgreSQL operationsfile_operations_dag.py- File processing and CSV operations
Level 3: Advanced Features
data_processing_dag.py- ETL pipeline with multiple steps
Level 4: Conditional Logic
branching_dag.py- BranchPythonOperator and conditional execution
Level 5: Error Handling
error_handling_dag.py- Task retries and error management
4. Sample Data Files
customers.csv- Customer data for exercisesorders.csv- Order data for practical work
5. Database Configuration
- PostgreSQL for Airflow metadata (port 5433)
- PostgreSQL for training exercises (port 5432)
6. Configuration Files
requirements.txt- Essential Python packages- Updated
README.mdwith comprehensive setup instructions
🎯 Key Features for Beginners
Simplified Setup
- All environment variables hardcoded in
.env - Clear port mappings and access credentials
Progressive Learning
- From basic "Hello World" to advanced ETL pipelines
- Hands-on exercises with real data
Technical Specifications
- Airflow version: 2.9.2
- PostgreSQL version: 16
- LocalExecutor for simplicity
🚀 Quick Start Commands
# Start all services
docker-compose up -d
# Access interfaces
- Airflow UI: http://localhost:8080
- Training PostgreSQL: localhost:5432
- Metadata PostgreSQL: localhost:5433