Введение в фабрику данных AzureIntroduction to Azure Data Factory

В мире больших данных в реляционных, нереляционных и других системах хранения часто хранятся необработанные и неорганизованные данные.In the world of big data, raw, unorganized data is often stored in relational, non-relational, and other storage systems. Но необработанные данные сами по себе не содержат нужного контекста или значения, чтобы быть полезными для аналитиков, специалистов по анализу данных и руководителей компаний.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.

Для больших данных нужна служба, которая поддерживает процессы организации и подготовки к использованию, чтобы просеять эти огромные хранилища необработанных данных и преобразовать их в полезные аналитические выводы.Big data requires service that can orchestrate and operationalize processes to refine these enormous stores of raw data into actionable business insights. Фабрика данных Azure — это управляемая облачная служба, созданная для сложных гибридных процессов извлечения, преобразования и загрузки (или извлечения, загрузки и преобразования) и интеграции данных.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.

В качестве примера рассмотрим компанию, которая создает облачные игры и собирает петабайты информации в виде журналов этих игр.For example, imagine a gaming company that collects petabytes of game logs that are produced by games in the cloud. Компания хочет проанализировать эти журналы, чтобы получить сведения о предпочтениях клиентов, демографических параметрах и особенностях использования.The company wants to analyze these logs to gain insights into customer preferences, demographics, and usage behavior. Эти сведения помогут понять, как можно увеличить дополнительные и перекрестные продажи, разработать новые интересные функции, стимулировать развитие компании и улучшить качество обслуживания клиентов.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.

Чтобы проанализировать эти журналы, компании необходимо использовать справочные сведения, например информацию о клиентах, игре и маркетинговых действиях, которые хранятся в локальном хранилище данных.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. Компании нужно объединить эти данные из локального хранилища данных с дополнительными данными журналов, собранными в облачном хранилище данных.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.

Чтобы получить аналитические данные, компания обработает объединенные данные с помощью кластера Spark в облаке (Azure HDInsight), а затем опубликует преобразованные данные в облачное хранилище данных, например в хранилище данных SQL Azure, из которого можно будет легко получать нужные отчеты.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. Этот рабочий процесс должен выполняться автоматически при помещении файлов в контейнер хранилища больших двоичных объектовThey want to automate this workflow, and monitor and manage it on a daily schedule. и должен ежедневно отслеживаться. Кроме того, должно быть налажено ежедневное управление им.They also want to execute it when files land in a blob store container.

Фабрика данных Azure является идеальной платформой для таких сценариев обработки данных.Azure Data Factory is the platform that solves such data scenarios. Это облачная служба интеграции данных, которая позволяет создавать управляемые данными рабочие процессы в облаке для оркестрации и автоматизации перемещения и преобразования данных.It is a cloud-based data integration service that allows you to create data-driven workflows in the cloud for orchestrating and automating data movement and data transformation. С помощью фабрики данных Azure можно создавать и включать в расписание управляемые данными рабочие процессы (конвейеры), которые могут принимать данные из разнородных хранилищ данных,Using Azure Data Factory, you can create and schedule data-driven workflows (called pipelines) that can ingest data from disparate data stores. обрабатывать и преобразовывать эти данные с помощью служб вычислений (например, Azure HDInsight Hadoop, Spark, Azure Data Lake Analytics и машинного обучения Azure),It can process and transform the data by using compute services such as Azure HDInsight Hadoop, Spark, Azure Data Lake Analytics, and Azure Machine Learning.

а также публиковать выходные данные в хранилища данных (например, хранилище данных SQL Azure) для использования приложениями бизнес-аналитики.Additionally, you can publish output data to data stores such as Azure SQL Data Warehouse for business intelligence (BI) applications to consume. Необработанные данные с помощью фабрики данных Azure можно организовать в полезные хранилища данных и озера данных для принятия лучших деловых решений.Ultimately, through Azure Data Factory, raw data can be organized into meaningful data stores and data lakes for better business decisions.

Высокоуровневое представление фабрики данных

Как это работает?How does it work?

Конвейеры (управляемые данными рабочие процессы) в фабрике Azure данных обычно выполняют следующие четыре действия.The pipelines (data-driven workflows) in Azure Data Factory typically perform the following four steps:

Четыре действия рабочего процесса на основе данных

Подключение и сбор данныхConnect and collect

Предприятия собирают данные различных типов в разнородных локальных и облачных источниках данных. Структурированные, неструктурированные или частично структурированные данные поступают с разными интервалами и с разной скоростью.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.

Первым этапом в создании системы производства информации является подключение ко всем необходимым источникам данных и службам обработки, таким как службы SaaS (программное обеспечение как услуга), базы данных, файловые ресурсы с общим доступом, 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. и перемещение данных, нуждающихся в последующей обработке, в централизованное расположение.The next step is to move the data as needed to a centralized location for subsequent processing.

Не имея фабрики данных предприятия вынуждены создавать компоненты для перемещения пользовательских данных или писать пользовательские службы для интеграции этих источников данных и обработки.Without Data Factory, enterprises must build custom data movement components or write custom services to integrate these data sources and processing. Такие системы дорого стоят, их сложно интегрировать и обслуживать.It's expensive and hard to integrate and maintain such systems. Кроме того, они часто не включают функции мониторинга и оповещений корпоративного уровня, а также элементы управления, которые может предложить полностью управляемая служба.In addition, they often lack the enterprise-grade monitoring, alerting, and the controls that a fully managed service can offer.

В фабрике данных вы можете использовать действие копирования в конвейере данных для перемещения данных из локальных и облачных исходных хранилищ данных в централизованное хранилище данных в облаке для последующего анализа.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. Например, вы можете собрать данные в Azure Data Lake Store и позже преобразовать эти данные с помощью службы вычислений Azure Data Lake Analytics.For example, you can collect data in Azure Data Lake Store and transform the data later by using an Azure Data Lake Analytics compute service. Или же вы можете собрать данные в хранилище BLOB-объектов Azure и позже преобразовать их с помощью кластера Hadoop под управлением службы Azure HDInsight.You can also collect data in Azure Blob storage and transform it later by using an Azure HDInsight Hadoop cluster.

Преобразование и дополнение данныхTransform and enrich

Обработайте или преобразуйте данные, собранные в централизованном облачном хранилище данных, с помощью служб вычислений, например HDInsight Hadoop, Spark, Data Lake Analytics и машинного обучения.After data is present in a centralized data store in the cloud, process or transform the collected data by using compute services such as HDInsight Hadoop, Spark, Data Lake Analytics, and Machine Learning. Также необходимо надежно преобразовывать данные по определенному расписанию (поддерживаемому и управляемому) для насыщения рабочих сред доверенными данными.You want to reliably produce transformed data on a maintainable and controlled schedule to feed production environments with trusted data.

ОпубликоватьPublish

Когда необработанные данные преобразованы в готовую к использованию форму, вы можете передать данные в хранилище данных Azure, Базу данных SQL Azure, Azure Cosmos DB или в любую аналитическую платформу, которую могут выбрать бизнес-пользователи для своих средств бизнес-аналитики.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.

МониторингMonitor

После создания и развертывания конвейера интеграции данных, который извлекает полезные данные из обработанных данных, вам понадобится отслеживать успешное выполнение и сбои запланированных операций и конвейеров.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. Фабрика данных Azure имеет встроенную поддержку мониторинга конвейеров с помощью Azure Monitor, API, PowerShell, журналов Azure Monitor и панелей работоспособности на портале Azure.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.

Основные понятияTop-level concepts

В подписке Azure может быть один или несколько экземпляров фабрики данных Azure.An Azure subscription might have one or more Azure Data Factory instances (or data factories). Фабрика данных Azure состоит из четырех основных компонентов.Azure Data Factory is composed of four key components. Они образуют платформу, на которой можно создавать управляемые данными рабочие процессы, предусматривающие перемещение и преобразование данных.These components work together to provide the platform on which you can compose data-driven workflows with steps to move and transform data.

КонвейерPipeline

В фабрике данных можно использовать один или несколько конвейеров.A data factory might have one or more pipelines. Конвейер — это логическая группа действий, которые выполняют определенный блок задач.A pipeline is a logical grouping of activities that performs a unit of work. Действия в конвейере совместно выполняют задачу.Together, the activities in a pipeline perform a task. Например, конвейер может включать группу действий, которые принимают данные из большого двоичного объекта Azure и выполняют запрос Hive в кластере HDInsight для секционирования данных.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.

Преимущество конвейера в том, что он позволяет управлять группами действий, а не каждым отдельным действием.The benefit of this is that the pipeline allows you to manage the activities as a set instead of managing each one individually. Действия в конвейере можно связывать друг с другом последовательно или выполнять параллельно и независимо друг от друга.The activities in a pipeline can be chained together to operate sequentially, or they can operate independently in parallel.

ДействиеActivity

Действия представляют отдельные этапы обработки в конвейере.Activities represent a processing step in a pipeline. Например, действие копирования может использоваться для копирования данных из одного хранилища данных в другое.For example, you might use a copy activity to copy data from one data store to another data store. Точно так же можно использовать действие Hive, которое выполняет запрос Hive к кластеру Azure HDInsight, для преобразования или анализа данных.Similarly, you might use a Hive activity, which runs a Hive query on an Azure HDInsight cluster, to transform or analyze your data. Фабрика данных поддерживает три типа действий: действия перемещения данных, действия преобразования данных и действия управления.Data Factory supports three types of activities: data movement activities, data transformation activities, and control activities.

Наборы данныхDatasets

Наборы данных представляют структуры данных в хранилищах. Эти структуры указывают данные, необходимые для использования в действиях, разделяя их на входные и выходные.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.

Связанные службыLinked services

Связанные службы напоминают строки подключения, определяющие сведения о подключении, необходимые для подключения фабрики данных к внешним ресурсам.Linked services are much like connection strings, which define the connection information that's needed for Data Factory to connect to external resources. Таким образом, набор данных представляет структуру данных, а связанная служба определяет подключение к источнику данных.Think of it this way: a linked service defines the connection to the data source, and a dataset represents the structure of the data. Например, связанная служба хранилища Azure определяет строку подключения для подключения к учетной записи хранения Azure.For example, an Azure Storage-linked service specifies a connection string to connect to the Azure Storage account. Кроме того, набор данных больших двоичных объектов Azure определяет контейнер больших двоичных объектов и папку, которая содержит данные.Additionally, an Azure blob dataset specifies the blob container and the folder that contains the data.

Связанные службы используются в фабрике данных для двух целей:Linked services are used for two purposes in Data Factory:

  • Для представления хранилища данных, включая, помимо прочего, локальную базу данных SQL Server, базу данных Oracle, общий файловый ресурс и учетную запись хранилища BLOB-объектов Azure.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. Список поддерживаемых хранилищ см. в статье о действии копирования.For a list of supported data stores, see the copy activity article.

  • Для представления вычислительного ресурса, в котором можно выполнить действие.To represent a compute resource that can host the execution of an activity. Например, действие HDInsightHive выполняется в кластере Hadoop в HDInsight.For example, the HDInsightHive activity runs on an HDInsight Hadoop cluster. Список поддерживаемых действий преобразования и вычислительных сред см. в статье о преобразовании данных.For a list of transformation activities and supported compute environments, see the transform data article.

триггеры;Triggers

Триггеры обозначают единицу обработки, которая определяет время запуска для выполнения конвейера.Triggers represent the unit of processing that determines when a pipeline execution needs to be kicked off. Существует несколько типов триггеров для разных событий.There are different types of triggers for different types of events.

Запуски конвейераPipeline runs

Запуск конвейера — это экземпляр выполнения конвейера.A pipeline run is an instance of the pipeline execution. Запуск конвейера обычно создается путем передачи аргументов для параметров, определенных в конвейерах.Pipeline runs are typically instantiated by passing the arguments to the parameters that are defined in pipelines. Аргументы можно передавать вручную или в определении триггера.The arguments can be passed manually or within the trigger definition.

ПараметрыParameters

Параметры представляют собой пары "ключ — значение" в конфигурации только для чтения.Parameters are key-value pairs of read-only configuration.  Параметры определяются в конвейере,  Parameters are defined in the pipeline. а аргументы для них передаются во время выполнения из контекста запуска, созданного триггером, или из конвейера, который выполняется вручную.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. Действия в конвейере используют значения параметров.Activities within the pipeline consume the parameter values.

Набор данных — это строго типизированный параметр и сущность, доступная для ссылок и повторного использования.A dataset is a strongly typed parameter and a reusable/referenceable entity. Действие может ссылаться на наборы данных и может использовать параметры, определенные в определении набора данных.An activity can reference datasets and can consume the properties that are defined in the dataset definition.

Связанная служба также является строго типизированным параметром, который содержит сведения о подключении к хранилищу данных или среде вычислений.A linked service is also a strongly typed parameter that contains the connection information to either a data store or a compute environment. Служба также доступна для ссылок и (или) повторного использования.It is also a reusable/referenceable entity.

Поток управленияControl flow

Поток управления — это оркестрация действий в конвейере, которая включает цепочки действий в последовательности, ветвление, определение параметров на уровне конвейера и передачу аргументов во время вызова конвейера по запросу или из триггера.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. Кроме того, сюда входит передача пользовательского состояния и контейнеров зацикливания (то есть итераторы For-each).It also includes custom-state passing and looping containers, that is, For-each iterators.

Дополнительные сведения о понятиях фабрики данных см. в следующих статьях:For more information about Data Factory concepts, see the following articles:

Поддерживаемые регионыSupported regions

Чтобы получить список регионов Azure, в которых сейчас доступна Фабрика данных, выберите интересующие вас регионы на следующей странице, а затем разверните раздел Аналитика, чтобы найти пункт Фабрика данных: Доступность продуктов по регионам.For a list of Azure regions in which Data Factory is currently available, select the regions that interest you on the following page, and then expand Analytics to locate Data Factory: Products available by region. Однако для перемещения данных между хранилищами данных или для обработки данных с помощью служб вычислений фабрики данных могут обращаться к хранилищам данных и службам вычислений в других регионах Azure.However, a data factory can access data stores and compute services in other Azure regions to move data between data stores or process data using compute services.

В самой фабрике данных Azure данные не хранятся.Azure Data Factory itself does not store any data. Она предоставляет возможность создавать управляемые данными рабочие процессы для обработки данных с помощью служб вычислений в других регионах или локальной среде, а также для оркестрации перемещения данных между поддерживаемыми хранилищами данных.It lets you create data-driven workflows to orchestrate the movement of data between supported data stores and the processing of data using compute services in other regions or in an on-premises environment. Кроме того, с помощью фабрики данных можно отслеживать рабочие процессы и управлять ими, используя программные методы и пользовательский интерфейс.It also allows you to monitor and manage workflows by using both programmatic and UI mechanisms.

Хотя фабрика данных доступна только в определенных регионах, служба для поддержки перемещения данных в фабрике данных доступна глобально в нескольких регионах.Although Data Factory is available only in certain regions, the service that powers the data movement in Data Factory is available globally in several regions. Если хранилище данных находится за брандмауэром, данные перемещает локальная среда выполнения интеграции, установленная в локальной среде.If a data store is behind a firewall, then a Self-hosted Integration Runtime that's installed in your on-premises environment moves the data instead.

Предположим, ваши вычислительные среды, например кластер Azure HDInsight и служба машинного обучения Azure, расположены в Западной Европе.For an example, let's assume that your compute environments such as Azure HDInsight cluster and Azure Machine Learning are running out of the West Europe region. Вы можете создать экземпляр фабрики данных Azure в восточной части США и восточной части США 2 и с его помощью планировать задания в вычислительных средах в Западной Европе.You can create and use an Azure Data Factory instance in East US or East US 2 and use it to schedule jobs on your compute environments in West Europe. Фабрике данных требуется лишь несколько миллисекунд, чтобы запустить задание в вычислительной среде, но время выполнения задания в вашей вычислительной среде остается неизменным.It takes a few milliseconds for Data Factory to trigger the job on your compute environment, but the time for running the job on your computing environment does not change.

Возможности доступаAccessibility

Пользовательский интерфейс фабрики данных на портале Azure остается доступным.The Data Factory user experience in the Azure portal is accessible.

Сравнение с версией 1Compare with version 1

См. список различий между версией 1 и текущей версией службы "Фабрика данных".For a list of differences between version 1 and the current version of the Data Factory service, see Compare with version 1.

Дополнительная информацияNext steps

Создание конвейера фабрики данных с помощью одного из следующих средств и пакетов SDK:Get started with creating a Data Factory pipeline by using one of the following tools/SDKs: