Potoki pozyskiwania, etL i przetwarzania strumieniowego za pomocą usług Azure Databricks i Delta Lake

Azure Databricks
Azure Data Lake Storage
Azure IoT Hub
Azure Data Factory
Azure Event Hubs

Pomysły dotyczące rozwiązań

W tym artykule opisano pomysł rozwiązania. Architekt chmury może użyć tych wskazówek, aby ułatwić wizualizowanie głównych składników dla typowej implementacji tej architektury. Skorzystaj z tego artykułu jako punktu wyjścia, aby zaprojektować dobrze zaprojektowane rozwiązanie zgodne z konkretnymi wymaganiami obciążenia.

Twoja organizacja musi pozyskiwać dane w dowolnym formacie, rozmiarze i szybkości w chmurze w spójny sposób. Rozwiązanie w tym artykule spełnia tę potrzebę z architekturą implementjącą wyodrębnianie, przekształcanie i ładowanie (ETL) ze źródeł danych do magazynu 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 danych, analizy biznesowej (BI), raportowania, nauki o danych i uczenia maszynowego.

Apache i Apache® Spark™ są zastrzeżonymi znakami towarowymi lub znakami towarowymi platformy Apache Software Foundation w Stany Zjednoczone i/lub innych krajach. Użycie tych znaków nie jest dorozumiane przez fundację Apache Software Foundation.

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 delty 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 w miarę ich nadejścia.
  2. Usługa Azure Databricks ładuje dane do zoptymalizowanych, skompresowanych tabel lub folderów usługi Delta Lake w warstwie Brązowa w usłudze Data Lake Storage.

  3. Zadania przesyłania strumieniowego, zaplanowane lub wyzwalane w usłudze Azure Databricks odczytują nowe transakcje z warstwy brązu usługi Data Lake Storage. 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 warstwach Silver i Gold usługi Data Lake Storage.

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

Każda usługa pozyskuje dane w typowym formacie, aby zapewnić spójność. Architektura korzysta z udostępnionego magazynu data lake w oparciu o otwarty format usługi Delta Lake. Nieprzetworzone dane są pozyskiwane z różnych źródeł wsadowych i przesyłanych strumieniowo w celu utworzenia ujednoliconej platformy danych. Platformę można używać do podrzędnych przypadków użycia, takich jak analiza, raportowanie analizy biznesowej, nauka o danych, sztuczna inteligencja i uczenie maszynowe.

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

Wzór medalionu składający się z warstw magazynowania Brązowa, Srebrna i Złota klienci mają elastyczny dostęp i rozszerzalne przetwarzanie danych.

  • Tabele z brązu zapewniają punkt wejścia dla danych pierwotnych, gdy ląduje w usłudze Data Lake Storage. Dane są pobierane w formacie nieprzetworzonym źródła i konwertowane na otwarty, transakcyjny format usługi Delta Lake na potrzeby przetwarzania. Rozwiązanie pozyskuje dane w warstwie Brązowa 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 usługi 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.
    • Moduł automatycznego ładowania usługi Azure Databricks. Moduł automatycznego ładowania pobiera pliki po przybyciu do magazynu data lake i zapisuje je w formacie usługi Delta Lake.
    • Działanie kopiowania w usłudze Data Factory. Klienci mogą użyć tej opcji, aby przekonwertować dane z dowolnego z obsługiwanych formatów na format usługi Delta Lake.
  • Tabele silver przechowują dane, gdy są zoptymalizowane pod kątem przypadków użycia analizy biznesowej i nauki o danych. Warstwa Brązowa pozyskuje nieprzetworzone dane, a następnie wykonuje więcej zadań ETL i przetwarzania strumieniowego w celu filtrowania, czyszczenia, przekształcania, łączenia 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 początkowej usługi 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żywać wybranej metody, takiej jak PySpark, Koalas, SQL, Power BI i Excel, aby uzyskać nowe szczegółowe informacje i formuł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 w dowolnej skali.
  • Usługa Data Lake Storage łączy dane przesyłane strumieniowo i wsadowe, w tym dane ustrukturyzowane, nieustrukturyzowane i częściowo ustrukturyzowane, takie jak dzienniki, pliki i nośniki.
  • Usługa Azure Databricks czyści i przekształca bez struktury zestawy danych i łączy je ze ustrukturyzowanymi danymi z operacyjnych baz danych lub magazynów danych.
  • Usługa IoT Hub zapewnia wysoce bezpieczną i niezawodną komunikację między aplikacją IoT a urządzeniami.
  • Usługa Delta Lake w usłudze 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ólne:

  • 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 Azure Data Lake Storage data lake. Usługa Delta Lake w usłudze Data Lake Storage obsługuje niepodzielność, spójność, izolację i trwałość transakcji (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 platformy. Współpracuje również z popularnymi zintegrowanymi środowiskami projektowymi (IDE), bibliotekami i językami programowania. Dzięki natywnym łącznikom i interfejsom API rozwiązanie współpracuje 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 przez system, który Providence Health Care zbudowany na potrzeby analizy w czasie rzeczywistym. Każda branża, która pozyskiwa dane wsadowe lub przesyłane strumieniowo, może również rozważyć to rozwiązanie. Oto kilka przykładów:

  • Handel detaliczny i elektroniczny
  • Finance
  • Opieka zdrowotna i nauki przyrodnicze
  • Dostawcy energii

Następne kroki

  • Spanish Point Technologies buduje aparat dopasowania przy użyciu usług Azure Databricks i Azure Data Factory w celu pozyskiwania danych na dużą skalę, aby pomóc muzykom w uczciwej płatności.

Przewodniki i w pełni wdrożone architektury: