Potoki pozyskiwania, ETL i przetwarzania strumieniowego za pomocą usługi Azure Databricks

Databricks
Data Lake Storage
Usługa IoT Hub
Data Factory
Event Hubs

Pomysły dotyczące rozwiązań

Ten artykuł jest pomysłem na rozwiązanie. Jeśli chcesz, abyśmy rozszerzyli zawartość o więcej informacji, takich jak potencjalne przypadki użycia, alternatywne usługi, zagadnienia dotyczące implementacji lub wskazówki dotyczące cen, daj nam znać, przekazując opinię w usłudze GitHub.

Twoja organizacja musi pozyskiwać dane o dowolnym formacie, rozmiarze i szybkości w chmurze w spójny sposób. Rozwiązanie w tym artykule spełnia wymagania architektury implementujące wyodrębnianie, przekształcanie i ładowanie (ETL) ze źródeł danych do usługi Data Lake. Usługa Data Lake może przechowywać wszystkie dane, w tym przekształcone i wyselekcjonowane wersje w różnych skalach. Dane mogą być używane do analizy SQL, analizy biznesowej (BI), raportowania, nauki o danych i uczenia maszynowego.

Architektura

Diagram przedstawiający architekturę i przepływ danych dla procesu ETL i przetwarzania strumieniowego za pomocą usługi Azure Databricks.

Pobierz plik programu Visio z tą architekturą.

Przepływ danych

  1. Dane są pozyskiwane na następujące sposoby:

    • Kolejki zdarzeń, takie jak Event Hubs, IoT Hub lub Kafka wysyłają dane przesyłane strumieniowo do usługi Azure Databricks, która używa zoptymalizowanego aparatu delta do odczytywania danych.
    • Zaplanowane lub wyzwalane potoki usługi Data Factory kopiują dane z różnych źródeł danych w formatach pierwotnych. Moduł automatycznego ładowania w usłudze Azure Databricks przetwarza dane podczas ich nadejścia.
  2. Usługa Azure Databricks ładuje dane do zoptymalizowanych, skompresowanych tabel lub folderów usługi Delta Lake w warstwie Brązowy w Data Lake Storage.

  3. Przesyłanie strumieniowe, zaplanowane lub wyzwalane zadania usługi Azure Databricks odczytują nowe transakcje z warstwy Data Lake Storage Brązowy. Zadania łączą się, czyszczą, przekształcają i agregują dane przed użyciem transakcji ACID w celu załadowania ich do wyselekcjonowanych zestawów danych w Data Lake Storage warstwach Silver i Gold.

  4. Zestawy danych są przechowywane w usłudze Delta Lake w Data Lake Storage.

Każda usługa pozyskiwa dane w typowym formacie w celu zapewnienia spójności. Architektura używa udostępnionego magazynu danych typu data lake na podstawie otwartego formatu usługi Delta Lake. Nieprzetworzone dane są pozyskiwane z różnych źródeł wsadowych i przesyłanych strumieniowo w celu utworzenia ujednoliconej platformy danych. Platforma może służyć do podrzędnych przypadków użycia, takich jak analiza, raportowanie analizy biznesowej, nauka o danych, sztuczna inteligencja i uczenie maszynowe.

Warstwy przechowywania z brązu, srebra i złota

Ze wzorcem medalonu, składającym się z warstw magazynowania Brązowy, Srebrny i Złoty, klienci mają elastyczny dostęp i rozszerzalne przetwarzanie danych.

  • Tabele z brązu zapewniają punkt wejścia dla nieprzetworzonych danych, gdy ląduje w Data Lake Storage. Dane są pobierane w formacie nieprzetworzonym źródła i konwertowane na otwarty, transakcyjny format usługi Delta Lake do przetwarzania. Rozwiązanie pozyskuje dane w warstwie Brązowe przy użyciu:
    • Interfejsy API platformy Apache Spark w usłudze Azure Databricks. Interfejsy API odczytują zdarzenia przesyłania strumieniowego z usługi Event Hubs lub IoT Hub, a następnie konwertują te zdarzenia lub nieprzetworzone pliki na format usługi Delta Lake.
    • POLECENIE COPY INTO. Użyj polecenia , aby skopiować dane bezpośrednio z pliku źródłowego lub katalogu do usługi Delta Lake.
    • Automatyczne ładowanie usługi Azure Databricks. Automatycznie ładujący pobiera pliki po przybyciu do usługi Data Lake i zapisuje je w formacie usługi Delta Lake.
    • Działanie kopiowania usługi Data Factory. Klienci mogą użyć tej opcji, aby przekonwertować dane z dowolnego obsługiwanego formatu na format usługi Delta Lake.
  • Tabele Silver przechowują dane, gdy są zoptymalizowane pod kątem analizy biznesowej i przypadków użycia analizy danych. Warstwa Brązowa pozyskiwa nieprzetworzone dane, a następnie wykonuje więcej zadań ETL i przetwarzania strumienia w celu filtrowania, czyszczenia, przekształcania, sprzężenia i agregowania danych do wyselekcjonowanych zestawów danych Silver. Firmy mogą używać spójnego aparatu obliczeniowego, takiego jak aparat delta engine open-standards, podczas korzystania z usługi Azure Databricks jako usługi początkowej dla tych zadań. Następnie mogą używać znanych języków programowania, takich jak SQL, Python, R lub Scala. Firmy mogą również używać powtarzalnych procesów DevOps i efemerycznych klastrów obliczeniowych o rozmiarze do poszczególnych obciążeń.
  • Złote tabele zawierają wzbogacone dane, gotowe do analizy i raportowania. Analitycy mogą użyć wybranej metody, takiej jak PySpark, Koalas, SQL, Power BI i Excel, aby uzyskać nowe szczegółowe informacje i sformułować zapytania.

Składniki

  • Usługa Event Hubs analizuje i ocenia komunikaty przesyłane strumieniowo z różnych źródeł, w tym systemów lokalnych i udostępnia informacje w czasie rzeczywistym.
  • Usługa Data Factory organizuje potoki danych na potrzeby pozyskiwania, przygotowywania i przekształcania wszystkich danych na dowolną skalę.
  • Data Lake Storage łączy dane przesyłane strumieniowo i wsadowe, w tym ustrukturyzowane, nieustrukturyzowane i częściowo ustrukturyzowane dane, takie jak dzienniki, pliki i nośniki.
  • Usługa Azure Databricks czyści i przekształca bez struktury zestawy danych i łączy je ze strukturą z operacyjnych baz danych lub magazynów danych.
  • IoT Hub zapewnia wysoce bezpieczną i niezawodną komunikację między aplikacją IoT a urządzeniami.
  • Usługa Delta Lake na Data Lake Storage obsługuje transakcje ACID pod kątem niezawodności i jest zoptymalizowana pod kątem wydajnego pozyskiwania, przetwarzania i zapytań.

Szczegóły scenariusza

Pozyskiwanie, etL i przetwarzanie strumieniowe za pomocą usługi Azure Databricks jest proste, otwarte i współpracujące:

  • Proste: open data lake z wyselekcjonaną warstwą w formacie open source upraszcza architekturę danych. Usługa Delta Lake, narzędzie typu open source, zapewnia dostęp do usługi data lake Azure Data Lake Storage. Usługa Delta Lake na Data Lake Storage obsługuje transakcje niepodzielności, spójności, izolacji i trwałości (ACID) w celu zapewnienia niezawodności. Usługa Delta Lake jest zoptymalizowana pod kątem wydajnego pozyskiwania, przetwarzania i zapytań.
  • Otwarte: Rozwiązanie obsługuje kod open source, otwarte standardy i otwarte struktury. Współpracuje również z popularnymi zintegrowanymi środowiskami projektowymi (IDE), bibliotekami i językami programowania. Dzięki natywnym łącznikom i interfejsom API rozwiązanie działa również z szeroką gamą innych usług.
  • Współpraca: inżynierowie danych, analitycy danych i analitycy współpracują z tym rozwiązaniem. Mogą używać notesów współpracy, środowisk IDE, pulpitów nawigacyjnych i innych narzędzi do uzyskiwania dostępu do typowych danych bazowych i analizowania ich.

Usługa Azure Databricks bezproblemowo integruje się z innymi usługami platformy Azure, takimi jak Data Lake Storage, Azure Data Factory, Azure Event Hubs i Azure IoT Hub.

Potencjalne przypadki użycia

To rozwiązanie jest inspirowane systemem, który Providence Health Care został utworzony na potrzeby analizy w czasie rzeczywistym. Każda branża, która pozyskuje dane wsadowe lub przesyłane strumieniowo, może również rozważyć to rozwiązanie. Przykłady:

  • Handel detaliczny i handel elektroniczny
  • Finance
  • Opieka zdrowotna i nauki o życiu
  • Dostawcy energii

Następne kroki

  • Providence Health Care tworzy swoje rozwiązanie do przesyłania strumieniowego danych przy użyciu usługi Azure Databricks i Azure Event Hubs w celu poprawy national emergency department overcrowding Score dla każdego z jego działów ratunkowych.
  • Spanish Point Technologies buduje swój aparat dopasowywania przy użyciu usługi Azure Databricks i Azure Data Factory pozyskiwania danych na dużą skalę, aby pomóc muzykom zarabiać sprawiedliwie.

Przewodniki i w pełni wdrażalne architektury: