Co to jest usługa Azure Data Factory?

DOTYCZY: Azure Data Factory Azure Synapse Analytics

W świecie danych big data dane nieprzetworzone i niezorganizowane często są przechowywane w relacyjnych, nierelacyjnych i innych systemach magazynowania. Jednak same nieprzetworzone dane nie mają prawidłowego kontekstu ani znaczenia umożliwiającego zapewnienie istotnych informacji analitykom, specjalistom z zakresu danych i osobom podejmującym decyzje biznesowe.

Dane big data wymagają usługi, która może orkiestrować i przetwarzać procesy w celu udoskonalenia tych ogromnych magazynów danych pierwotnych w szczegółowe informacje biznesowe z możliwością działania. Azure Data Factory to zarządzana usługa w chmurze, stworzona z myślą o tych kompleksowych, hybrydowych projektach typu wyodrębnianie-transformacja-ładowanie (ETL), wyodrębnianie-ładowanie-transformacja (ELT) i integracji danych.

Przykładowo wyobraź sobie, że firma zajmująca się grami gromadzi petabajty dzienników gier, które są tworzone przez gry w chmurze. Firma chce analizować te dzienniki w celu uzyskania wglądu w preferencje klientów, dane demograficzne i zachowania związane z użyciem. Dzięki temu firma będzie mogła identyfikować możliwości sprzedaży droższych produktów i sprzedaży wiązanej, opracowywać nowe atrakcyjne funkcje pozytywnie wpływające na rozwój biznesowy oraz oferować klientom udoskonalone środowisko gier.

Do analizy tych dzienników firma musi użyć danych referencyjnych, np. informacji o kliencie, grze i kampanii marketingowej, które znajdują się w lokalnym magazynie danych. Firma chce korzystać z tych danych z lokalnego magazynu danych, łącząc je z dodatkowymi danymi dzienników znajdującymi się w magazynie danych w chmurze.

Aby wyodrębnić szczegółowe informacje, chce przetworzyć połączone dane przy użyciu klastra Spark w chmurze (Azure HDInsight) i opublikować przekształcone dane w magazynie danych w chmurze, takim jak Azure Synapse Analytics, aby łatwo utworzyć na jego podstawie raport. Firma chce zautomatyzować ten przepływ pracy oraz monitorować go i zarządzać nim zgodnie z codziennym harmonogramem. Chce również wykonać tę operację, gdy pliki znajdują się w kontenerze magazynu obiektów blob.

Azure Data Factory to platforma, która umożliwia pracę z takimi scenariuszami danych. Jest to oparta na chmurze usługa ETL i integracja danych, która umożliwia tworzenie opartych na danych przepływów pracy do organizowania przepływów danych i przekształcania danych na dużą skalę. Za pomocą usługi Azure Data Factory można tworzyć oparte na danych przepływy pracy (nazywane potokami) i ustalać ich harmonogram. Można tworzyć złożone procesy ETL, które przekształcają dane wizualnie za pomocą przepływów danych lub za pomocą usług obliczeniowych, takich jak Azure HDInsight Hadoop, Azure Databricks i Azure SQL Database.

Ponadto przekształcone dane można publikować w magazynach danych, takich jak Azure Synapse Analytics do zastosowań w aplikacjach analizy biznesowej. Ostatecznie dzięki usłudze Azure Data Factory nieprzetworzone dane mogą być organizowane w praktyczne magazyny i usługi data lake ułatwiające podejmowanie właściwych decyzji biznesowych.

Widok najwyższego poziomu Data Factory

Jak to działa?

Usługa Data Factory zawiera szereg połączonych systemów, które tworzą kompleksową platformę dla inżynierów danych.

Ten przewodnik wizualizacji zawiera ogólne omówienie Data Factory architektury:

Szczegółowy przewodnik wizualny dotyczący kompletnej architektury systemu dla Azure Data Factory, przedstawiony na pojedynczym obrazie o wysokiej rozdzielczości.

Aby wyświetlić więcej szczegółów, kliknij powyższy obraz, aby powiększyć obraz, lub przejdź do obrazu o wysokiej rozdzielczości.

Łączenie i zbieranie

Przedsiębiorstwa dysponują danymi różnych typów, znajdującymi się w różnych magazynach lokalnych i w chmurze, ze strukturą pełną i częściową, przychodzącymi w różnych interwałach i w różnym tempie.

Pierwszy krok tworzenia systemu uzyskiwania informacji polega na połączeniu wszystkich wymaganych źródeł danych i systemów przetwarzania, takich jak usługi SaaS, bazy danych, udziały plików oraz internetowe usługi FTP. Następnym krokiem jest przeniesienie danych w miarę potrzeb do centralnej lokalizacji w celu ich dalszego przetwarzania.

Firmy, które nie korzystają z usługi Data Factory, muszą tworzyć niestandardowe składniki umożliwiające przepływ danych lub projektować własne usługi, aby zintegrować źródła danych i systemy przetwarzania. Takie podejście jest kosztowne, a integracja i utrzymanie systemów stwarza trudności. Ponadto rozwiązanie to rzadko zapewnia mechanizmy kontrolne oraz funkcje monitorowania i wysyłania alertów na poziomie korporacyjnym. Możliwości te są natomiast dostępne w przypadku w pełni zarządzanej usługi.

Usługa Data Factory udostępnia działanie kopiowania w potoku danych, które pozwala przenosić dane z lokalnych magazynów danych i źródeł danych w chmurze do centralnego magazynu danych w chmurze w celu przeprowadzenia kolejnych etapów analizy. Na przykład możesz zbierać dane w usłudze Azure Data Lake Storage i przekształcać je później przy użyciu Azure Data Lake Analytics obliczeniowej. Można też pobrać dane z usługi Azure Blob Storage, aby przekształcić je później przy użyciu klastra usługi Azure HDInsight na platformie Hadoop.

Przekształcanie i wzbogacanie

Gdy dane są obecne w scentralizowanym magazynie danych w chmurze, przetwarzaj lub przekształcaj zebrane dane przy użyciu przepływów danych mapowania usługi ADF. Przepływy danych umożliwiają inżynierom danych tworzenie i obsługę wykresów przekształcania danych wykonywanych na spark bez konieczności zrozumienia klastrów Spark lub programowania spark.

Jeśli wolisz ręcznie używać przekształceń kodu, usługi ADF obsługują zewnętrzne działania związane z wykonywaniem przekształceń w usługach obliczeniowych, takich jak HDInsight Hadoop, Spark, Data Lake Analytics i Machine Learning.

Ci/CD i publikowanie

Data Factory oferuje pełną obsługę ci/cd potoków danych przy użyciu Azure DevOps i GitHub. Dzięki temu można przyrostowo opracowywać i dostarczać procesy ETL przed opublikowaniem gotowego produktu. Po przekształceniu danych pierwotnych do postaci gotowej dla działań biznesowych należy załadować je do magazynu Azure Data Warehouse, bazy danych Azure SQL Database, bazy danych Azure CosmosDB lub dowolnego aparatu analizy, z którego mogą korzystać użytkownicy biznesowi przy użyciu swoich narzędzi do analizy biznesowej.

Monitor

Po pomyślnym utworzeniu i wdrożeniu potoku integracji danych, zapewniającego wartość biznesową danym przetworzonym, należy monitorować zaplanowane działania i potoki pod kątem współczynników powodzenia i niepowodzenia. Usługa Azure Data Factory dysponuje wbudowaną obsługą monitorowania potoków przy użyciu narzędzi Azure Monitor, API, PowerShell, dzienników usługi Azure Monitor i paneli kondycji w witrynie Azure Portal.

Koncepcje najwyższego poziomu

Subskrypcja platformy Azure może zawierać jedno lub więcej wystąpień usługi Azure Data Factory (lub fabryk danych). Azure Data Factory składa się z poniższych kluczowych składników.

  • Pipelines
  • Działania
  • Zestawy danych
  • Połączone usługi
  • Przepływy danych
  • Środowiska Integration Runtime

Ich współdziałanie pozwala udostępnić platformę umożliwiającą tworzenie opartych na danych przepływów pracy wraz z etapami służącymi do przenoszenia i przekształcania danych.

Potok

Fabryka danych może obejmować jeden lub wiele potoków. Potok jest logicznym grupowaniem działań, które wspólnie wykonują jednostkę pracy. Razem działania w potoku wykonują zadanie. Na przykład potok może zawierać grupę działań, które pozwalają pozyskać dane z obiektu blob platformy Azure, a następnie uruchomić zapytanie programu Hive w klastrze usługi HDInsight w celu podzielenia danych.

Zaletą korzystania z potoku jest możliwość zarządzania zestawem działań, a nie pojedynczymi zadaniami. Działania w potoku można ze sobą połączyć w sposób sekwencyjny, mogą też działać niezależnie i równolegle.

Przepływy danych mapowania

Tworzenie grafów logiki przekształcania danych i zarządzanie nimi, których można użyć do przekształcania danych o dowolnym rozmiarze. Możesz utworzyć bibliotekę wielokrotnego użytku procedur przekształcania danych i wykonać te procesy w sposób skalowany w dół z potoków ADF. Data Factory logikę w klastrze Spark, który uruchamia się i uruchamia, gdy jest potrzebna. Nigdy nie trzeba zarządzać klastrami ani ich konserwować.

Działanie

Działania reprezentują krok przetwarzania w potoku. Można na przykład użyć działania kopiowania w celu skopiowania danych z jednego magazynu danych do drugiego. Podobnie można użyć działania programu Hive, które uruchomi zapytanie programu Hive w klastrze usługi Azure HDInsight, aby przekształcić lub przeanalizować dane. Usługa Data Factory obsługuje trzy typy działań: działania przenoszenia danych, działania przekształcania danych i działania sterowania.

Zestawy danych

Zestawy danych reprezentują struktury w magazynach danych. Struktury te po prostu wskazują na dane, które mają być używane w działaniach jako dane wejściowe lub wyjściowe.

Połączone usługi

Połączone usługi działają podobnie do parametrów połączenia, umożliwiając definiowanie informacji wymaganych przez usługę Data Factory do nawiązywania połączeń z zasobami zewnętrznymi. Mechanizm ten działa następująco: połączona usługa zawiera definicję połączenia ze źródłem danych, a zestaw danych reprezentuje strukturę danych. Na przykład połączona usługa Azure Storage określa parametry połączenia, które umożliwiają połączenie z kontem usługi Azure Storage. Natomiast zestaw danych usługi Azure Blob określa kontener obiektów blob oraz folder, który zawiera dane.

Połączone usługi w usłudze Fabryka danych służą do dwóch celów:

  • Do reprezentowania magazynu danych, który obejmuje między innymi bazę danych SQL Server, bazę danych Oracle, udział plików lub konto usługi Azure Blob Storage. Listę obsługiwanych magazynów danych zamieszczono w artykule na temat działania kopiowania.

  • Reprezentowanie zasobu obliczeniowego, który może hostować wykonywanie działania. Na przykład działanie HDInsightHive jest wykonywane w klastrze HDInsight na platformie Hadoop. Listę działań przekształcania i obsługiwanych środowisk obliczeniowych zamieszczono w artykule dotyczącym przekształcania danych.

Środowisko Integration Runtime

W usłudze Data Factory działanie definiuje akcję do wykonania. Połączona usługa definiuje docelowy magazyn danych lub usługę obliczeniową. Infrastruktura Integration Runtime zapewnia połączenie między działaniem i połączonymi usługami. Jest on przywołyny przez powiązaną usługę lub działanie i zapewnia środowisko obliczeniowe, w którym działanie jest uruchamiane lub z którego jest wysyłane. Dzięki temu działanie można wykonać w regionie najbliższym docelowemu magazynowi danych lub usłudze obliczeniowej, w sposób najbardziej wydajny, jednocześnie spełniając wymagania dotyczące zabezpieczeń i zgodności.

Wyzwalacze

Wyzwalacze reprezentują jednostki przetwarzania, które określają, kiedy należy rozpocząć wykonanie potoku. Istnieją różne typy wyzwalaczy dla różnych typów zdarzeń.

Uruchomienia potoków

Uruchomienie potoku to wystąpienie wykonania potoku. Uruchomienia potoku są tworzone zazwyczaj przez przekazanie argumentów do parametrów zdefiniowanych w potokach. Argumenty można przekazać ręcznie lub w ramach definicji wyzwalacza.

Parametry

Parametry to pary klucz-wartość w konfiguracji tylko do odczytu.Parametry są definiowane w potoku. Argumenty dla zdefiniowanych parametrów są przekazywane w trakcie wykonania z kontekstu uruchomienia utworzonego przez wyzwalacz lub potok wykonany ręcznie. Działania w ramach potoku wykorzystują wartości parametrów.

Zestaw danych to silnie typizowany parametr oraz obiekt wielokrotnego użytku, do którego można się odwoływać. Działanie może odwoływać się do zestawów danych oraz wykorzystywać właściwości określone w definicji zestawu danych.

Połączona usługa to również silnie typizowany parametr zawierający informacje o połączeniu z magazynem danych lub środowiskiem obliczeniowym. Również jest to obiekt wielokrotnego użytku, do którego można się odwoływać.

Przepływ sterowania

Przepływ sterowania to inaczej organizacja działań potoku, która obejmuje działania połączone w sekwencję, rozgałęzienia, parametry zdefiniowane na poziomie potoku oraz argumenty przekazywane podczas wywoływania potoku na żądanie lub przy użyciu wyzwalacza. Zawiera również kontenery przekazywania stanów niestandardowych i pętli, czyli iteratory For-each.

Zmienne

Zmienne mogą być używane wewnątrz potoków do przechowywania wartości tymczasowych, a także mogą być używane w połączeniu z parametrami, aby umożliwić przekazywanie wartości między potokami, przepływami danych i innymi działaniami.

Następne kroki

Poniżej znajdują się ważne dokumenty dotyczące kolejnych kroków: