Populära streamingsystem
Streamingkoncept
Mike Metzger
Data engineer
Streamingverktyg
- Olika verktyg beroende på behov
- Gör det möjligt att välja rätt verktyg för jobbet
- Vanliga system inkluderar:
- Celery
- Kafka
- Spark Streaming
Celery
- Distribuerad uppgiftskö / FIFO
- Används främst som en jobb- eller uppgiftskö
- Vanlig för asynkrona uppgifter
- Skicka e-post för lösenordsåterställning
- Hantera digitala beställningar
- Ändra bildstorlekar
- Möjliggör realtidsbearbetning av stora mängder meddelanden
- Har funktioner för hantering och skalning (vertikalt & horisontellt)
Apache Kafka
- Distribuerat händelsestreamingsystem
- Utformat för att skicka händelser mellan producenter och konsumenter
- Producenter skapar händelser på ett ämne
- Ämnen är i grunden meddelanden av en bestämd form
- Konsumenter tar emot nya händelser
- Olika konsumenter kan hantera händelser efter behov (loggning, transformationer, vidarebefordran m.m.)
- Hanterar lagring av händelser enligt specifikation
- Mycket kraftfullt, men kan vara svårt att konfigurera

Kafka-tillämpningar
- Passar bäst för dataöverföring mellan flera system
- Enda källan till sanning
- Insamling av förändrad data
- Säkerhetskopior av data
- Migrering av datasystem
Spark Streaming
- Del av Apache Spark
- Utformat för att bearbeta strömmande data
- Bygger vidare på Sparks möjligheter att bearbeta data i Scala, Python, SQL m.m.
- Användbart för stora datamängder och i maskininlärningsscenarier
- Kan relativt enkelt växla från batch- till strömbearbetning
- Inte utformat för att lagra eller logga händelser – fokus är att bearbeta eller transformera data
Nu kör vi en övning!
Streamingkoncept
Preparing Video For Download...