Stiahnite si kód: kafka-project.zip

producer_server_logs.py generuje správy do topicu SERVER_LOGS_RAW_TOPIC (je nastavený v constants.py). NEPÚŠŤAJTE tohto producera, máte ho vo vstupoch preto, aby ste si mohli pozrieť kód. Funguje veľmi podobne ako na druhom kafka cvičení, s nasledovnými zmenami:

V súbore constants.py si prepíšte {surname} na Vaše priezvisko. Zároveň si cez Kafka CLI tools vytvorte nasledovné topicy (opäť {surname} nahraďte): Vašou úlohou je naprogramovať program clean_server_logs.py, ktorý bude vykonávať dve úlohy
  1. Čistiť dáta z topicu SERVER_LOGS_RAW_TOPIC - t.j. bude odfiltrovávať prázdne, nevalidné a duplicitné záznamy. Všetky ostatné validné záznamy bude posielať do topicu SERVER_LOGS_CLEANED_TOPIC (je nastavený v constant.py).

  2. Posielať report o počte prázdnych / nevalidných / duplicitných záznamov za určené časové okno do topicu DATA_QUALITY_MONITOR_TOPIC, pričom platí

Voliteľné:

Keď budete mať program hotový (a korektne fungujúci), spustite si ho, a môžete si vyskúšať popri ňom pustiť aj jednoduchý real-time dashboard pomocou

streamlit run .\data_quality_dashboard.py
(vyžaduje pip install streamlit). Do dashboardu sa konzumujú správy z topicu DATA_QUALITY_MONITOR_TOPIC a zobrazujú sa postupne v grafe - pri aktuálnom nastavení časového okna sa nová hodnota načíta každých 20 sekúnd.