Kolejki można wykorzystywać zarówno na poziomie kodu i struktur danych jak i planując architekturę. Występuje w większości systemów rozproszonych.
Strona głównaUżytkownik
mszymczyk | użytkownik
Architektura 1585 dni, 5 godzin, 43 minuty temu 82 źrodło rozwiń
Było o HDFS. Teraz wjeżdża temat MapReduce. Trzeba zagonić serwery do roboty 😈
Programowanie rozproszone 1592 dni, 6 godzin, 26 minut temu 100 źrodło rozwiń
Dlaczego nie wystarczy nam macierz i jak działa HDFS.
Programowanie rozproszone 1599 dni, 5 godzin, 18 minut temu 103 źrodło rozwiń
Jednym z podstawowych narzędzi Data Scientist jest Numpy. Niestety nadmiar danych może znacznie utrudnić nam zabawę. Dlatego powstało Koalas. Biblioteka umożliwiająca korzystanie z Apache Spark w taki sposób, jakbyśmy robili to za pomocą Numpy.Spis treścihide1Cel2Środowisko3Pip i Spark Session4Przygotowanie Spark DataFrame5Przygotowanie Koalas DataFrame6Top 10 najczęściej ocenianych filmówPySparkKoalas/PandasSpark SQL7Top 10 filmów wg średnich ocen (ale tylko takich, które mają >100 ocen)PySparkKoalas/Pa...
Elasticsearch zaskakuje nas swoimi możliwościami i szybkością działania, ale czy zwracane wyniki są prawidłowe? W tym wpisie dowiesz się jak Elasticsearch działa pod maską i dlaczego zwracane agregacje są pewnego rodzaju przybliżeniem.Spis treścihide1Elasticsearch pod maskąIndeksy, shardy i replikiZapytania i agregacjeSzacowanie2TestDataFrame w Apache SparkTop 20 LinesTop 10 vehicleNumber3WnioskiPodziel się:Dodaj do ulubionych:PodobneElasticsearch pod maskąIndeksy, shardy i repliki Zacznijmy od tego, ja...
Bazy danych i XML 1612 dni, 4 godziny, 47 minut temu 78 źrodło rozwiń
W poprzednim wpisie udokumentowałem utworzenie przepływu danych wykorzystującego technologie takie jak Kafka, Kafka Streams, Logstash i Elasticsearch. Po kilku dniach pracy mam już wystarczającą ilość danych, aby przekonać się jakie możliwości analizy danych transportu miejskiego umożliwia Elasticsearch i Kibana.Spis treścihide1DaneLiczność zbioru2MapaHeatmapGrid rectangles3Wykresy, wykresikiDodanie pola z godzinąWykresiki – ogólnieWykresiki – dla linii 122 i 190Najszybszy w mieście wóz, najszybszy w mie...
Jest to drugie podejście Wizualizacja autobusów w Elasticsearch i Kibana. Tym razem wykorzystam napisany wcześniej program w Kafka Streams do obliczenia prędkości i orientacji autobusów, a następnie wrzucę Logstash-em z Apache Kafka do Elasticsearch.Spis treścihide1Środowisko2Data Flow3Wrzucanie rekordów do Apache Kafka4Logstash5Elasticsearch6Kibana7Mapa8Działanie9RepozytoriumPodziel się:Dodaj do ulubionych:PodobneŚrodowisko Docker-compose już trochę puchnie. Znajduje się w nim Elasticsearch, Kibana, Zo...
Bazy danych i XML 1640 dni, 5 godzin, 56 minut temu 66 źrodło rozwiń
No właśnie. Jak zacząć w świecie Big Data? Przecież tyle tych technologii. Widać to choćby na tym schemacie. http://mattturck.com/wp-content/uploads/2019/07/2019MattTurckBigDataLandscapeFinal_Fullsize.png.Newsletter Amerykańscy naukowcy i radzieccy uczeni są zgodni w jednym: nie ma lepszego sposobu na początek przygody z Big Data, jak subskrypcja Wiadro Danych 😎 Przechodząc dalej, akceptujesz politykę prywatnościJęzyk Oczywiście najważniejszym językiem w IT jest… język angielski. Ale skończmy h...
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, 4 godziny, 59 minut 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, 5 godzin, 34 minuty 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, 4 godziny, 56 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, 5 godzin, 5 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, 4 godziny, 37 minut temu 48 źrodło rozwiń
Elasticsearch najczęściej wykorzystywany jest do agregowania logów i monitorowania elementów systemu. Umożliwia również alertowanie, ale jest to funkcjonalność dostępna od wersji Gold, czyli trzeba za nią zapłacić 😥. Są jednak darmowe rozwiązania. W tym przypadku przyjrzymy się rozwiązaniu Praeco (z łac. obwoływacz, herold) opartym o ElastAlert.Spis treścihide1Praeco2Środowisko3KonfiguracjaPraeco & ElastAlertLogstashReguła w Praeco4Akcja5Reakcja6PodsumowaniePodobnePraeco ElastAlert jest to rozwiązan...
Bazy danych i XML 1717 dni, 4 godziny, 6 minut temu 43 źrodło rozwiń
Pewnie się zdziwi Cie ta informacja. Elasticsearch służy do… szukania. Tak. To prawda. Okazuje się, że można go wykorzystać również do indeksowania zawartości plików typu doc, docx, pdf itp. W tym wpisie przyjrzymy się jak to zrobić, jak zmienić analizator oraz jak „zgubić” plik jeśli i tak trzymamy go np. na S3.Spis treścihide1Po co?2Środowisko3Przygotowanie Pipeline4Dodanie pliku5Wyszukiwanie6Ale ja nie potrzebuję analizować całego pliku7Wystarczy mi treść. Pliki trzymam na S38To co z tym OCR-em?9A co ...
Bazy danych i XML 1731 dni, 4 godziny, 36 minut temu 133 źrodło rozwiń
Delta Lake zdobywa ostatnio coraz większa popularność. Słychać o nim na konferencjach na całym świecie. W tym artykule przyjrzymy się jakie problemy rozwiązuje.Spis treścihide1Co to Delta Lake?2Jupyter + Delta Lake3Przygotowanie danych4Bez Delta Lake5Z Delta LakeHistoria i podróże w czasieZarządzanie schematemVacuumDelta Lake APIDeleteUpdateMergeStreaming Sink6Co jest pod maską?7RepoCo to Delta Lake? Delta Lake to nakładka na Apache Spark. Pełni rolę warstwy persystencji i gwarantuje ACID na HDFS, S3, A...
Bazy danych i XML 1745 dni, 4 godziny, 13 minut temu 52 źrodło rozwiń
Może się zdarzyć tak, że nasza aplikacja rzuci wyjątek, którego się nie spodziewaliśmy. Nie wygląda to dobrze, jeśli taki nieobsłużony wyjątek trafi do użytkownika. Dodatkowo, jeśli nie otrzymamy informacji o tym, że taki wyjątek wystąpił, trudno będzie nam go poprawić i nie dopuścić do jego powtórzenia. W związku z tym warto w naszej aplikacji dodać globalną obsługę wyjątków i ich logowanie. O tym, jak skonfigurować logowanie, pisałem tutaj i tutaj. W tym poście pokażę kilka sposobów na złapanie takich...
Sztuka programowania 1758 dni, 4 godziny, 8 minut temu 279 źrodło rozwiń
Elasticsearch można lubić lub nie. Fakty są takie, że robi robotę. Razem z Kibana, Logstash i Beats pozwalają w prosty sposób zbierać logi, metryki i przeprowadzać analizy w czasie rzeczywistym. Gdy potrzebujemy więcej, możemy chwycić za inne narzędzia. W tym wpisie przyjrzymy się jak połączyć Apache Spark i Elasticsearch. Psst! Repo z kodem na dole wpisu!😎Czemu Spark? Ostatnio zwrócił moją uwagę HELK, czyli rozwiązanie do analizy cyber oparte na Elastic Stack. Patrząc na jego architekturę, widzimy wy...
Bazy danych i XML 1758 dni, 4 godziny, 8 minut temu 53 źrodło rozwiń
Niedawno postawiłem świeży stos ELK (Elastic Search, Logstash, Kibana). Wszystko fajnie śmigało przez trochę ponad 2 tygodnie aż przestało.
Prędzej czy później programista dowiaduje się o istotności logowania w swojej aplikacji. Najlepiej podejść do tematu w sposób „leniwy” tj. minimum wysiłku, maksimum efektów 😉. Elasticsearch i Kibana bardzo w tym pomagają. 16.01.2020 przedstawiłem swoje doświadczenia z tym związane na meetup-ie Warszawskiej Grupy .NET . Slajdy i kod znajdziesz tutaj: https://wiadrodanych.pl/wg-net-serilog-elk/Autor MaciejOpublikowano Kategorie Elasticsearch, Logowanie, Programowanie, Wystąpienia, Zbieranie logówTagi a...
Sztuka programowania 1766 dni, 4 godziny, 3 minuty temu 77 źrodło rozwiń