Korzystanie z usług HDInsight Spark i Kafka
Jako inżynier danych musisz określić najbardziej odpowiedni rodzaj klastra usługi HDInsight w celu utworzenia rozwiązania. Klastry Spark i Kafka, gdy są używane razem, zapewniają doskonały sposób pozyskiwania i przetwarzania strumieni danych w czasie rzeczywistym lub niemal w czasie rzeczywistym.
Pozyskiwanie danych w czasie rzeczywistym za pomocą platformy Kafka
Platforma Apache Kafka może służyć jako system obsługi komunikatów, system publikowania subskrypcji lub jako platforma przetwarzania strumieniowego. Przechowuje dane w dzienniku, który może być odczytywany w czasie rzeczywistym, przetwarzany po przetworzeniu i może być odczytywany przez wielu użytkowników w tym samym czasie.
Przetwarzanie zdarzeń w czasie rzeczywistym przy użyciu przesyłania strumieniowego ze strukturą platformy Spark
Apache Spark to aparat przetwarzania danych rozproszonych typu open source, który może być używany w wielu okolicznościach do szybkiego przetwarzania, wykonywania zapytań, analizowania i przekształcania danych na dużą skalę. Platforma Spark jest często używana do wykonywania zadań ETL i SQL na danych big data, przetwarzania danych przesyłanych strumieniowo i wykonywania uczenia maszynowego.
Przesyłanie strumieniowe ze strukturą platformy Spark ma funkcje niedostępne na innych platformach, takie jak gwarancje odporności na uszkodzenia, możliwość dołączania danych wsadowych i przesyłanych strumieniowo, możliwość obsługi późnych przychodzących danych i wiele innych, o których będziemy dowiedzieć się więcej w dalszej części tego modułu. Ponadto za pomocą usługi Azure HDInsight można utworzyć sieć wirtualną, która zawiera zarówno klaster Spark, jak i kafka. W przypadku obu klastrów w jednej sieci wirtualnej klaster Spark może uzyskiwać dostęp do poszczególnych partycji danych w klastrze Kafka, zamiast mówić między klastrami lub punktami końcowymi. Zapewniając dostęp do poszczególnych partycji danych, zwiększasz równoległość zadań przetwarzania w czasie rzeczywistym, co zapewnia lepszą przepływność.
Scenariusze korzystania z platformy Kafka z platformą Spark
Istnieje wiele scenariuszy analizy w czasie rzeczywistym, które mogą korzystać z przesyłania strumieniowego w czasie rzeczywistym, które można włączyć na platformie Apache Kafka i platformie Spark. Wszystkie te scenariusze mają zarówno składnik pozyskiwania danych przesyłanych strumieniowo, który jest składnikiem platformy Kafka, jak i procesem analitycznym uruchomionym na danych, który jest składnikiem platformy Spark.
- Wykrywanie oszustw w czasie rzeczywistym w celu pozyskiwania danych transakcji finansowych i porównywania ich z historycznymi wzorcami fałszywych zachowań.
- Scenariusze zarządzania flotą i połączonego samochodu, w których pozyskiwane są dane urządzeń IoT i reagują, gdy określone dane czujnika, takie jak przebieg, prędkość, lokalizacja lub dane temperatury osiągną próg.
- Analiza strumienia kliknięć w rozwiązaniach do handlu elektronicznego, aby przeanalizować, jak umieszczanie stron produktów może wpływać na zakupy impulsów i klikać.
- Monitorowanie pacjentów w czasie rzeczywistym w celu obserwacji informacji o ciśnieniem krwi i tętnie oraz powiadamianie lekarzy, gdy pacjent jest w stanie krytycznym.
- Rozwiązania inteligentnej siatki, które obserwują użycie elektryczne i reagują w miarę zmian wymagań.
- Zachowanie klientów w sklepach, aby dowiedzieć się, jakie zakupy są dokonywane w określonych porach dnia, aby zaplanować ponowne zapasy i zmodyfikować personel pasa kasowego.
- Monitorowanie infrastruktury IT i sieci w celu monitorowania dostępności i przepustowości serwera oraz przekierowywania ruchu w razie potrzeby.
- Zapotrzebowanie i zarządzanie zapasami w czasie rzeczywistym, aby obserwować niskie poziomy zapasów i monitować o ponowne zamówienie lub ponowne uzupełnianie tych elementów.
Łatwa migracja z partii do przesyłania strumieniowego
W wielu przypadkach te scenariusze rozpoczynają się lokalnie lub z przetwarzaniem wsadowym danych, ale w miarę rozwoju i rozwoju rozwiązań przetwarzanie wsadowe przenosi się do przesyłania strumieniowego i aplikacji lokalnych do chmury. Jak wspomniano powyżej, przesyłanie strumieniowe ze strukturą platformy Spark jest unikatowe w jego możliwości obsługi zadań wsadowych i przesyłania strumieniowego, co ułatwia przenoszenie wszelkich przetwarzania wsadowego do zadań w czasie rzeczywistym, ponieważ można przejść z jednego do drugiego lub używać ich w tym samym czasie przy użyciu tych samych aplikacji i struktur.