Czym jest usługa Azure Data Factory?What is Azure Data Factory?

W świecie danych big data dane nieprzetworzone i niezorganizowane często są przechowywane w relacyjnych, nierelacyjnych i innych systemach magazynowania.In the world of big data, raw, unorganized data is often stored in relational, non-relational, and other storage systems. 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.However, on its own, raw data doesn't have the proper context or meaning to provide meaningful insights to analysts, data scientists, or business decision makers.

Dane big data wymagają usługi, która umożliwia organizację i operacjonalizację procesów mających na celu przekształcenie tych ogromnych zbiorów nieprzetworzonych danych w praktyczną analizę biznesową.Big data requires service that can orchestrate and operationalize processes to refine these enormous stores of raw data into actionable business insights. 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.Azure Data Factory is a managed cloud service that's built for these complex hybrid extract-transform-load (ETL), extract-load-transform (ELT), and data integration projects.

Na przykład wyobraź sobie producenta gier, który zbiera petabajty dzienników gier tworzonych przez gry w chmurze.For example, imagine a gaming company that collects petabytes of game logs that are produced by games in the cloud. Firma chce analizować te dzienniki w celu uzyskania szczegółowych informacji dotyczących preferencji klientów, danych demograficznych oraz zachowania użytkowników podczas korzystania z gier.The company wants to analyze these logs to gain insights into customer preferences, demographics, and usage behavior. 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.It also wants to identify up-sell and cross-sell opportunities, develop compelling new features, drive business growth, and provide a better experience to its customers.

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.To analyze these logs, the company needs to use reference data such as customer information, game information, and marketing campaign information that is in an on-premises data store. 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.The company wants to utilize this data from the on-premises data store, combining it with additional log data that it has in a cloud data store.

Aby wyodrębnić szczegółowe informacje, chce przetworzyć połączone dane przy użyciu klastra Spark w chmurze (Azure HDInsight), a następnie opublikować przekształcone dane w magazynie danych w chmurze, takim jak Azure SQL Data Warehouse, co ułatwi tworzenie raportów na ich podstawie.To extract insights, it hopes to process the joined data by using a Spark cluster in the cloud (Azure HDInsight), and publish the transformed data into a cloud data warehouse such as Azure SQL Data Warehouse to easily build a report on top of it. Firma zamierza zautomatyzować przepływ pracy, a także monitorować go i zarządzać nim w cyklu dziennym.They want to automate this workflow, and monitor and manage it on a daily schedule. Poza tym chce wykonywać przepływ pracy, gdy pliki znajdą się w kontenerze usługi Blob Storage.They also want to execute it when files land in a blob store container.

Azure Data Factory to platforma, która umożliwia pracę z takimi scenariuszami danych.Azure Data Factory is the platform that solves such data scenarios. Jest to Usługa ETL i integracja danych oparta na chmurze, która umożliwia tworzenie przepływów pracy opartych na danych na potrzeby organizowania przenoszenia danych i przekształcania danych na dużą skalę.It is the cloud-based ETL and data integration service that allows you to create data-driven workflows for orchestrating data movement and transforming data at scale. Za pomocą usługi Azure Data Factory można tworzyć oparte na danych przepływy pracy (nazywane potokami) i ustalać ich harmonogram.Using Azure Data Factory, you can create and schedule data-driven workflows (called pipelines) that can ingest data from disparate data stores. Można tworzyć złożone procesy ETL, które przekształcają dane graficznie przy użyciu przepływów danych lub usług obliczeniowych, takich jak Azure HDInsight Hadoop, Azure Databricks i Azure SQL Database.You can build complex ETL processes that transform data visually with data flows or by using compute services such as Azure HDInsight Hadoop, Azure Databricks, and Azure SQL Database.

Ponadto możesz publikować przekształcone dane w magazynach danych, takich jak Azure SQL Data Warehouse for Business Intelligence (BI), aby korzystać z programu.Additionally, you can publish your transformed data to data stores such as Azure SQL Data Warehouse for business intelligence (BI) applications to consume. 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.Ultimately, through Azure Data Factory, raw data can be organized into meaningful data stores and data lakes for better business decisions.

Widok najwyższego poziomu usługi Data Factory

Jak to działa?How does it work?

Data Factory zawiera szereg połączonych systemów, które zapewniają kompleksową platformę do obsługi inżynierów danych.Data Factory contains a series of interconnected systems that provide a complete end-to-end platform for data engineers.

Łączenie i zbieranieConnect and collect

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.Enterprises have data of various types that are located in disparate sources on-premises, in the cloud, structured, unstructured, and semi-structured, all arriving at different intervals and speeds.

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.The first step in building an information production system is to connect to all the required sources of data and processing, such as software-as-a-service (SaaS) services, databases, file shares, and FTP web services. Następnym krokiem jest przeniesienie danych w miarę potrzeb do centralnej lokalizacji w celu ich dalszego przetwarzania.The next step is to move the data as needed to a centralized location for subsequent processing.

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.Without Data Factory, enterprises must build custom data movement components or write custom services to integrate these data sources and processing. Takie podejście jest kosztowne, a integracja i utrzymanie systemów stwarza trudności.It's expensive and hard to integrate and maintain such systems. 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.In addition, they often lack the enterprise-grade monitoring, alerting, and the controls that a fully managed service can offer.

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.With Data Factory, you can use the Copy Activity in a data pipeline to move data from both on-premises and cloud source data stores to a centralization data store in the cloud for further analysis. Można na przykład zebrać dane w Azure Data Lake Storage i przekształcić je później za pomocą usługi obliczeniowej Azure Data Lake Analytics.For example, you can collect data in Azure Data Lake Storage and transform the data later by using an Azure Data Lake Analytics compute service. 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.You can also collect data in Azure Blob storage and transform it later by using an Azure HDInsight Hadoop cluster.

Przekształcanie i wzbogacanieTransform and enrich

Gdy dane znajdują się w scentralizowanym magazynie danych w chmurze, przetwórz lub Przekształcaj zebrane dane przy użyciu funkcji ADF mapowania przepływów danych.After data is present in a centralized data store in the cloud, process or transform the collected data by using ADF mapping data flows. Przepływy danych umożliwiają inżynierom danych Tworzenie i konserwowanie wykresów transformacji danych, które są wykonywane na platformie Spark bez konieczności zrozumienia klastrów Spark lub programowania Spark.Data flows enable data engineers to build and maintain data transformation graphs that execute on Spark without needing to understand Spark clusters or Spark programming.

Jeśli wolisz naliczać przekształcenia ręcznie, moduł ADF obsługuje działania zewnętrzne do wykonywania przekształceń usług obliczeniowych, takich jak HDInsight Hadoop, Spark, Data Lake Analytics i Machine Learning.If you prefer to code transformations by hand, ADF supports external activities for executing your transformations on compute services such as HDInsight Hadoop, Spark, Data Lake Analytics, and Machine Learning.

CI/CD i publikowanieCI/CD and publish

Data Factory oferuje pełną obsługę ciągłej integracji i ciągłego wdrażania potoków danych przy użyciu usług Azure DevOps i GitHub.Data Factory offers full support for CI/CD of your data pipelines using Azure DevOps and GitHub. Dzięki temu można stopniowo opracowywać i dostarczać procesy ETL przed opublikowaniem gotowego produktu.This allows you to incrementally develop and deliver your ETL processes before publishing the finished product. 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.After the raw data has been refined into a business-ready consumable form, load the data into Azure Data Warehouse, Azure SQL Database, Azure CosmosDB, or whichever analytics engine your business users can point to from their business intelligence tools.

MonitorowanieMonitor

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.After you have successfully built and deployed your data integration pipeline, providing business value from refined data, monitor the scheduled activities and pipelines for success and failure rates. 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.Azure Data Factory has built-in support for pipeline monitoring via Azure Monitor, API, PowerShell, Azure Monitor logs, and health panels on the Azure portal.

Koncepcje najwyższego poziomuTop-level concepts

Subskrypcja platformy Azure może zawierać jedno lub więcej wystąpień usługi Azure Data Factory (lub fabryk danych).An Azure subscription might have one or more Azure Data Factory instances (or data factories). Usługa Azure Data Factory składa się z czterech głównych składników.Azure Data Factory is composed of four key components. 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.These components work together to provide the platform on which you can compose data-driven workflows with steps to move and transform data.

PotokPipeline

Fabryka danych może obejmować jeden lub wiele potoków.A data factory might have one or more pipelines. Potoki to logiczne grupy działań, które wspólnie wykonują pracę.A pipeline is a logical grouping of activities that performs a unit of work. które umożliwiają wykonanie zadania.Together, the activities in a pipeline perform a task. 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.For example, a pipeline can contain a group of activities that ingests data from an Azure blob, and then runs a Hive query on an HDInsight cluster to partition the data.

Zaletą korzystania z potoku jest możliwość zarządzania zestawem działań, a nie pojedynczymi zadaniami.The benefit of this is that the pipeline allows you to manage the activities as a set instead of managing each one individually. Działania w potoku można ze sobą połączyć w sposób sekwencyjny, mogą też działać niezależnie i równolegle.The activities in a pipeline can be chained together to operate sequentially, or they can operate independently in parallel.

Przepływy danych mapowaniaMapping data flows

Twórz wykresy logiki przekształcania danych i zarządzaj nimi, których możesz użyć do przekształcenia danych o dowolnym rozmiarze.Create and manage graphs of data transformation logic that you can use to transform any-sized data. Można utworzyć bibliotekę do wielokrotnego użytku procedur przekształcania danych i uruchamiać te procesy w sposób skalowalny w poziomie z potoków ADF.You can build-up a reusable library of data transformation routines and execute those processes in a scaled-out manner from your ADF pipelines. Data Factory wykona logikę w klastrze Spark, który zacznie działać i obracać się, gdy ich potrzebujesz.Data Factory will execute your logic on a Spark cluster that spins-up and spins-down when you need it. Nie trzeba już zarządzać klastrami ani ich obsługiwać.You won't ever have to manage or maintain clusters.

DziałanieActivity

Działania reprezentują krok przetwarzania w potoku.Activities represent a processing step in a pipeline. Można na przykład użyć działania kopiowania w celu skopiowania danych z jednego magazynu danych do drugiego.For example, you might use a copy activity to copy data from one data store to another data store. 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.Similarly, you might use a Hive activity, which runs a Hive query on an Azure HDInsight cluster, to transform or analyze your data. Usługa Data Factory obsługuje trzy typy działań: działania przenoszenia danych, działania przekształcania danych i działania sterowania.Data Factory supports three types of activities: data movement activities, data transformation activities, and control activities.

Zestawy danychDatasets

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.Datasets represent data structures within the data stores, which simply point to or reference the data you want to use in your activities as inputs or outputs.

Połączone usługiLinked services

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.Linked services are much like connection strings, which define the connection information that's needed for Data Factory to connect to external resources. 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.Think of it this way: a linked service defines the connection to the data source, and a dataset represents the structure of the data. 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.For example, an Azure Storage-linked service specifies a connection string to connect to the Azure Storage account. Natomiast zestaw danych usługi Azure Blob określa kontener obiektów blob oraz folder, który zawiera dane.Additionally, an Azure blob dataset specifies the blob container and the folder that contains the data.

Połączone usługi w usłudze Fabryka danych służą do dwóch celów:Linked services are used for two purposes in Data Factory:

  • Reprezentowanie magazynu danych, w tym między innymi bazy danych na lokalnym serwerze SQL Server, bazy danych Oracle, udziału plików lub konta usługi Azure Blob Storage.To represent a data store that includes, but isn't limited to, an on-premises SQL Server database, Oracle database, file share, or Azure blob storage account. Listę obsługiwanych magazynów danych zamieszczono w artykule na temat działania kopiowania.For a list of supported data stores, see the copy activity article.

  • Reprezentowanie zasobu obliczeniowego, który może hostować wykonywanie działania.To represent a compute resource that can host the execution of an activity. Na przykład działanie HDInsightHive jest wykonywane w klastrze HDInsight na platformie Hadoop.For example, the HDInsightHive activity runs on an HDInsight Hadoop cluster. Listę działań przekształcania i obsługiwanych środowisk obliczeniowych zamieszczono w artykule dotyczącym przekształcania danych.For a list of transformation activities and supported compute environments, see the transform data article.

WyzwalaczeTriggers

Wyzwalacze reprezentują jednostki przetwarzania, które określają, kiedy należy rozpocząć wykonanie potoku.Triggers represent the unit of processing that determines when a pipeline execution needs to be kicked off. Istnieją różne typy wyzwalaczy dla różnych typów zdarzeń.There are different types of triggers for different types of events.

Uruchomienia potokówPipeline runs

Uruchomienie potoku to wystąpienie wykonania potoku.A pipeline run is an instance of the pipeline execution. Uruchomienia potoku są tworzone zazwyczaj przez przekazanie argumentów do parametrów zdefiniowanych w potokach.Pipeline runs are typically instantiated by passing the arguments to the parameters that are defined in pipelines. Argumenty można przekazać ręcznie lub w ramach definicji wyzwalacza.The arguments can be passed manually or within the trigger definition.

ParametryParameters

Parametry to pary klucz-wartość w konfiguracji tylko do odczytu.Parameters are key-value pairs of read-only configuration.  Parametry są definiowane w potoku.  Parameters are defined in the pipeline. Argumenty dla zdefiniowanych parametrów są przekazywane w trakcie wykonania z kontekstu uruchomienia utworzonego przez wyzwalacz lub potok wykonany ręcznie.The arguments for the defined parameters are passed during execution from the run context that was created by a trigger or a pipeline that was executed manually. Działania w ramach potoku wykorzystują wartości parametrów.Activities within the pipeline consume the parameter values.

Zestaw danych to silnie typizowany parametr oraz obiekt wielokrotnego użytku, do którego można się odwoływać.A dataset is a strongly typed parameter and a reusable/referenceable entity. Działanie może odwoływać się do zestawów danych oraz wykorzystywać właściwości określone w definicji zestawu danych.An activity can reference datasets and can consume the properties that are defined in the dataset definition.

Połączona usługa to również silnie typizowany parametr zawierający informacje o połączeniu z magazynem danych lub środowiskiem obliczeniowym.A linked service is also a strongly typed parameter that contains the connection information to either a data store or a compute environment. Również jest to obiekt wielokrotnego użytku, do którego można się odwoływać.It is also a reusable/referenceable entity.

Przepływ sterowaniaControl flow

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.Control flow is an orchestration of pipeline activities that includes chaining activities in a sequence, branching, defining parameters at the pipeline level, and passing arguments while invoking the pipeline on-demand or from a trigger. Zawiera również kontenery przekazywania stanów niestandardowych i pętli, czyli iteratory For-each.It also includes custom-state passing and looping containers, that is, For-each iterators.

ZmienneVariables

Zmienne mogą być używane wewnątrz potoków do przechowywania wartości tymczasowych i mogą być również używane w połączeniu z parametrami, aby umożliwić przekazywanie wartości między potokami, przepływami danych i innymi działaniami.Variables can be used inside of pipelines to store temporary values and can also be used in conjunction with parameters to enable passing values between pipelines, data flows, and other activities.

Następne krokiNext steps

Poniżej przedstawiono ważne dokumenty w następnym kroku umożliwiające Eksplorowanie:Here are important next step documents to explore: