Bu proje, Apache Kafka, Apache Spark ve Apache Airflow kullanılarak uçtan uca (end-to-end) veri üretimi, işlenmesi ve otomasyonu örneklemek için hazırlanmıştır.
Gerçek zamanlı vliği araçlarıyla (Kafka, Spark, Airflow) Docker üzerinde dee toplu veri işleme süreçlerini, modern veri mühendisneyimlemek ve öğrenmek.
- Kafka: Gerçek zamanlı veri akışı ve saklama (sipariş verileri).
- Spark: Kafka'dan verileri okuyup toplu (batch) olarak analiz ve raporlama.
- Airflow: Spark işlerini otomatik ve zamanlanmış şekilde tetikleme.
- Postgres: (İsteğe bağlı) Kalıcı veri saklama.Bu projede kullanılmıyor.
- Producer (Python): Kafka'ya rastgele sipariş verisi üreten Python scripti.
- Producer, Kafka'ya rastgele sipariş verileri gönderir.
- Kafka, bu verileri saklar ve Spark ile paylaşır.
- Airflow, her gün otomatik olarak bir Spark job'u tetikler.
- Spark, Kafka'daki verileri okur, ürün bazında toplam satış ve ciroyu hesaplar.
- Sonuçlar loglarda tablo olarak görüntülenir.
.env.exampledosyasını kopyalayıp.envolarak adlandırın ve gerekli bilgileri doldurun.- Tüm servisleri başlatmak için:
docker-compose up -d - Kafka producer'ı başlatmak için:
python kafka_producer/producer.py - Airflow arayüzüne erişin.
daily_report_dagisimli DAG'ı elle veya otomatik olarak tetikleyin.
- Apache Kafka
- Apache Spark
- Apache Airflow
- Docker & Docker Compose
- Python (kafka-python, pyspark)
Bu proje, veri mühendisliği süreçlerini öğrenmek ve denemek isteyenler için hazırlanmış bir örnektir.Ticari bir amaç için kullanılamaz.