ksqlDB to rozwiązanie z rodziny Apache Kafka i Confluent. Pozwala na wykorzystanie języka SQL do definiowania zadań przetwarzania strumieniowego. Wpis ten zaczyna serię o ksqlDB. Spróbujemy zrobić coś fajnego na podstawie danych z Packetbeat’a (monitoring ruchu sieciowego) i zobaczymy jak to dalej się rozwinie.Spis treścihide1Co to jest ksqlDB?ksqlDB w Cybersecurity?2Problem3ŚrodowiskoApache Kafka + Zookeeper + ksqlDB4Packetbeat5ksqlDBGdzie strumyk płynie z wolnaPrzykładowy rekordStream ‘packetbeat’Strea...
Bazy danych i XML 1073 dni, 33 minuty temu 51 źrodło rozwiń
Myślałeś/aś kiedyś o utworzeniu strumienia z operacji w bazie danych? W tym wpisie dowiesz się czym jest Change Data Capture i jak go wykorzystać planując architekturę naszego systemu. W części praktycznej sprawdzimy działanie Debezium na bazie MySQLSpis treścihide1Co to jest Change Data Capture?Rodzaje Change Data CaptureQuery-BasedLog-Based2Jak mogę to wykorzystać?Zapis do wielu źródełIntegracja baz danychETL i Stream Processing3DebeziumŚrodowiskoKonfiguracja Debezium MySQL w Kafka ConnectDodanie danyc...
Bazy danych i XML 1409 dni, 46 minut temu 63 źrodło rozwiń
Kafka Connect to część platformy Apache Kafka. Służy do łączenia Kafki z zewnętrznymi serwisami takimi jak systemy plików lub bazy danych. W artykule dowiesz się jaki problem rozwiązuje i jak ją uruchomić.Spis treścihide1Dlaczego Kafka Connect?2Alternatywy3Konektory4Środowisko5Tryb Standalone – Zapis do pliku6Tryb DistributedGenerowanie danych – Datagen SourceZapis danych – AWS S3 Sink7PodsumowaniePodziel się:Like this:RelatedDlaczego Kafka Connect? Apache Kafka wykorzystywana jest w architekturze mikro...
Obrazy Dockera są łatwe w obsłudze. Nie musimy instalować konkretnej wersji środowiska, bibliotek i innych zależności. Wszystko powinno być zamknięte w abstrakcji zwanej kontenerem. Możemy je uruchamiać i skalować w Docker Swarm lub Kubernetes. W tym wpisie zajmiemy się dockeryzacją aplikacji Kafka Streams na przykładzie strumienia dla lokalizacji autobusów ZTM przedstawionym w poprzednim wpisie.Spis treścihide1Zmiany w pom.xml2Zmiany w kodzie aplikacji Kafka Streams3Dockerfile4Zbudowanie obrazu Docker5D...
Programowanie rozproszone 1654 dni, 1 godzinę, 43 minuty temu 34 źrodło rozwiń
Czasami klasyczne Kafka DSL nam nie wystarcza. Processor API pozwala na dowolne zdefiniowanie procesora, a co najlepsze, wykorzystanie State Store. W tym przypadku obliczymy prędkość, kierunek i dystans pojazdów komunikacji miejskiej w Warszwie.Spis treścihide1Rozkład jazdy2Źródło3Plan4Dlaczego Processor API?5No to lecimyOdczyt danych z KafkiTestyTopologiaProcesorTesty6Czy z prawdziwą Kafką też działa?7Repozytorium8PodsumowaniePodobneRozkład jazdyKafka Streams 101 – de/serilizacjaKafka Streams 102 – Wyją...
Programowanie rozproszone 1667 dni, 2 godziny, 18 minut temu 29 źrodło rozwiń
Nie wyobrażam sobie programowania bez pisania testów. Gdy śpieszy mi się i o nich „zapominam”, potem i tak poprawiam kod przez jakąś głupotę. Poprawiają jakość i przyśpieszają czas tworzenia oprogramowania. Nie wierzysz?Spis treścihide1Rozkład jazdy2Co zyskamy?3Zależności4Testowalny kod Kafka Streams5Test 1 – LowercaseStreamTopologyTestDriverTest właściwy6Test 2 – SerDeJsonStream7Repozytorium8WnioskiPodobneRozkład jazdyKafka Streams 101 – de/serilizacjaKafka Streams 102 – Wyjątki i Dead Letter QueueKafka...
Sztuka programowania 1682 dni, 1 godzinę, 40 minut temu 43 źrodło rozwiń
Błędy zdarzają się każdemu. Prędzej czy później nasza aplikacja Kafka Streams dostanie wiadomość, która ją zabije (Poison Pill). Niestety uruchomienie jej ponownie nie pomoże, dopóki wiadomość nie zniknie z kolejki. W tym wpisie spróbujemy obsłużyć takie wiadomości i zapisać je do Dead Letter Queue.Spis treścihide1Rozkład jazdy2Poison Pill3Rozwiązania4Problemy5Dead Letter Queue6Filtrowanie wadliwych rekordówPodczas deserializacjiPodczas transformacji7Wykorzystanie Dead Letter QueuePodczas deserializacjiP...
Programowanie rozproszone 1696 dni, 1 godzinę, 49 minut temu 29 źrodło rozwiń
Przetwarzanie strumieniowe jest dzisiaj standardem. Skoro i tak większość osób korzysta z Apache Kafka jako kolejki, czemu nie spróbować Kafka Streams? Jest to rozwiązanie skalowalne i nie wymaga specjalnych środowisk typu YARN czy Apache Mesos. Ten wpis rozpoczyna serię wpisów dotyczących Kafka Streams.Spis treścihide1Cel2Podstawy3Środowisko4Pierwszy strumień – LowerCaseStream5De/Serializacja z łapyPoison Pill6De/Serializacja nie z łapyPoison Pill7Co dalej?8RepozytoriumPodobneCel We wpisach z tego cykl...
Programowanie rozproszone 1710 dni, 1 godzinę, 21 minut temu 48 źrodło rozwiń
W poprzednim poście utworzyliśmy strumień danych lokalizacji pojazdów komunikacji miejskiej na jednym z topiców w Apache Kafka. Teraz dorwiemy się do tego strumienia z poziomu Apache Spark, zapiszemy trochę danych na HDFS i zobaczymy czy da się coś z nimi zrobić. Dla przypomnienia, wpis jest częścią mini projektu związanego z danymi lokalizacji pojazdów komunikacji miejskiej w Warszawie. Plan na dzień dzisiejszy poniżej, a zastanawiamy się nad jego środkiem => Apache SparkOdczyt z Kafki Najszybszą meto...
Bazy danych i XML 1812 dni, 1 godzinę, 5 minut temu 45 źrodło rozwiń
Dziś przyjrzymy się narzędziu, jakim jest Apache Airflow. Spróbujemy użyć dwóch operatorów i zasilić kafkę danymi z API. Przy okazji rozpoczynam taki „mini projekcik”. Nie wiem jak Tobie, ale najlepiej poznaję różne technologie poprzez praktykę. W tym wpisie wspomniałem o źródle, którym są otwarte dane Warszawy https://api.um.warszawa.pl/. Mój plan to wysyłanie takich danych na Kafkę i przetworzenie ich strumieniowo (np. w Sparku). Takie dane potem wylądują na HDFS, ELK (sprawdzimy czy da się sensownie ...
Bazy danych i XML 1820 dni, 47 minut temu 93 źrodło rozwiń