Introducción a Azure Data FactoryIntroduction to Azure Data Factory

Nota

Este artículo se aplica a la versión 1 de Azure Data Factory.This article applies to version 1 of Azure Data Factory. Si utiliza la versión actual del servicio Data Factory, consulte Introducción a Data Factory V2.If you are using the current version of the Data Factory service, see Introduction to Data Factory V2.

¿Qué es Azure Data Factory?What is Azure Data Factory?

En el mundo de los macrodatos, ¿cómo aprovechan las empresas los datos existentes?In the world of big data, how is existing data leveraged in business? ¿Es posible enriquecer los datos generados en la nube mediante el uso de datos de referencia de orígenes de datos locales u otros orígenes de datos dispares?Is it possible to enrich data that's generated in the cloud by using reference data from on-premises data sources or other disparate data sources?

Por ejemplo, una empresa de juegos recopila registros generados por juegos en la nube.For example, a gaming company collects logs that are produced by games in the cloud. Desea analizar estos registros para obtener información sobre las preferencias de los clientes, datos demográficos, comportamiento de uso, etc.It wants to analyze these logs to gain insights into customer preferences, demographics, usage behavior, and so on. La empresa también quiere identificar oportunidades de aumento de ventas y de venta cruzada y agregar nuevas características atractivas para impulsar el crecimiento del negocio y ofrecer una mejor experiencia a los clientes.The company also wants to identify up-sell and cross-sell opportunities, develop compelling new features to drive business growth, and provide a better experience to customers.

Para analizar estos registros, la empresa debe usar datos de referencia, como información de los clientes, información de los juegos e información de las campañas de marketing, que se encuentran en un almacén de datos local.To analyze these logs, the company needs to use the reference data such as customer information, game information, and marketing campaign information that is in an on-premises data store. Por lo tanto, desean ingerir datos de registro del almacén de datos en la nube y datos de referencia del almacén de datos local.Therefore, the company wants to ingest log data from the cloud data store and reference data from the on-premises data store.

A continuación desean procesar los datos con Hadoop en la nube (Azure HDInsight).Next they want to process the data by using Hadoop in the cloud (Azure HDInsight). Quieren publicar los datos de resultados en un almacén de datos en la nube, como Azure Synapse Analytics (anteriormente Azure SQL Data Warehouse), o en un almacén de datos local, como SQL Server.They want to publish the result data into a cloud data warehouse such as Azure Synapse Analytics (formerly SQL Data Warehouse) or an on-premises data store such as SQL Server. La empresa quiere que este flujo de trabajo se ejecute una vez a la semana.The company wants this workflow to run once a week.

La empresa necesita una plataforma en la que se cree un flujo de trabajo donde se puedan introducir datos de almacenes tanto locales como en la nube.The company needs a platform where they can create a workflow that can ingest data from both on-premises and cloud data stores. La empresa también necesita transformar o procesar datos mediante servicios de proceso existentes, como Hadoop, y publicar los resultados en un almacén de datos local o en la nube para que los consuman aplicaciones de inteligencia empresarial.The company also needs to be able to transform or process data by using existing compute services such as Hadoop, and publish the results to an on-premises or cloud data store for BI applications to consume.

Introducción a Data Factory

Azure Data Factory es la plataforma para estos tipos de escenario.Azure Data Factory is the platform for these kinds of scenarios. Se trata de un servicio de integración de datos basado en la nube que permite crear flujos de trabajo basados en datos en la nube a fin de orquestar y automatizar el movimiento y la transformación de datos.It is a cloud-based data integration service that allows you to create data-driven workflows in the cloud that orchestrate and automate data movement and data transformation. Con Azure Data Factory, puede realizar las tareas siguientes:Using Azure Data Factory, you can do the following tasks:

  • Creación y programación de flujos de trabajo basados en datos flujos (denominados "canalizaciones") que ingieren datos de almacenes de datos dispares.Create and schedule data-driven workflows (called pipelines) that can ingest data from disparate data stores.

  • Procesamiento o transformación de los datos con servicios de proceso tipo Azure HDInsight Hadoop, Spark, Azure Data Lake Analytics y Azure Machine Learning.Process or transform the data by using compute services such as Azure HDInsight Hadoop, Spark, Azure Data Lake Analytics, and Azure Machine Learning.

  • Publicación de datos de salida en almacenes de datos como Azure Synapse Analytics para que las aplicaciones de inteligencia empresarial los consuman.Publish output data to data stores such as Azure Synapse Analytics for business intelligence (BI) applications to consume.

Es más una plataforma de extracción y carga (EL) y de transformación y carga (TL) que una de extracción, transformación y carga (ETL) tradicional.It's more of an Extract-and-Load (EL) and Transform-and-Load (TL) platform rather than a traditional Extract-Transform-and-Load (ETL) platform. En las transformaciones se procesan los datos con servicios de proceso, en lugar de al incorporar columnas derivadas, contar el número de filas, ordenar los datos, etc.The transformations process data by using compute services rather than by adding derived columns, counting the number of rows, sorting data, and so on.

Actualmente, en Azure Data Factory, los datos que consumen y generan los flujos de trabajo son datos fragmentados por tiempo (por hora, al día, a la semana, etc.).Currently, in Azure Data Factory, the data that workflows consume and produce is time-sliced data (hourly, daily, weekly, and so on). Por ejemplo, una canalización podría leer datos de entrada, procesar datos y generar datos de salida una vez al día.For example, a pipeline might read input data, process data, and produce output data once a day. También puede ejecutar un flujo de trabajo una sola vez.You can also run a workflow just one time.

¿Cómo funciona?How does it work?

Las canalizaciones (flujos de trabajo orientados a datos) en Azure Data Factory realizan normalmente los tres pasos siguientes:The pipelines (data-driven workflows) in Azure Data Factory typically perform the following three steps:

Tres fases de Azure Data Factory

Conectar y recopilarConnect and collect

Las empresas tienen datos de varios tipos ubicados en orígenes dispares.Enterprises have data of various types that are located in disparate sources. El primer paso para la compilación de un sistema de producción de información es la conexión a todos los orígenes de datos y procesamientos necesarios.The first step in building an information production system is to connect to all the required sources of data and processing. Estos orígenes incluyen servicios de SaaS, recursos compartidos de archivos, FTP y servicios web.These sources include SaaS services, file shares, FTP, and web services. A continuación, mueva los datos como sea necesario a una ubicación centralizada para el procesamiento posterior.Then move the data as-needed to a centralized location for subsequent processing.

Sin Data Factory, las empresas deben crear componentes de movimiento de datos personalizados o escribir servicios personalizados para integrar estos orígenes de datos y procesamientos.Without Data Factory, enterprises must build custom data movement components or write custom services to integrate these data sources and processing. Estos sistemas resultan costosos y difíciles de integrar y mantener.It is expensive and hard to integrate and maintain such systems. A menudo, también carecen de la supervisión de grado empresarial, las alertas y los controles que ofrece un servicio completamente administrado.These systems also often lack the enterprise grade monitoring, alerting, and controls that a fully managed service can offer.

Con Data Factory, puede usar la actividad de copia en una canalización de datos para mover los datos desde almacenes de datos de orígenes locales y en la nube a un almacén de datos de centralización en la nube para su posterior análisis.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.

Por ejemplo, puede recopilar datos de Azure Data Lake Store y transformarlos posteriormente mediante un servicio de proceso de 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. O también puede recopilar datos en Azure Blob Storage y transformarlos más adelante con un clúster de Azure HDInsight Hadoop.Or, collect data in Azure blob storage and transform it later by using an Azure HDInsight Hadoop cluster.

Transformar y enriquecerTransform and enrich

Con los datos presentes en un almacén de datos centralizado en la nube, podrá procesarlos o transferirlos mediante servicios de proceso como HDInsight Hadoop, Spark, Data Lake Analytics o Machine Learning.After data is present in a centralized data store in the cloud, process or transfer it by using compute services such as HDInsight Hadoop, Spark, Data Lake Analytics, or Machine Learning. Querrá generar de manera confiable datos transformados según una programación controlada y fácil de mantener a fin de alimentar los entornos de producción con datos de confianza.You want to reliably produce transformed data on a maintainable and controlled schedule to feed production environments with trusted data.

PublicarPublish

Entregue datos transformados de la nube a orígenes locales como SQL Server.Deliver transformed data from the cloud to on-premises sources such as SQL Server. También puede conservarlos en los orígenes de almacenamiento en la nube para que los consuma la inteligencia empresarial y las herramientas de Analytics, así como otras aplicaciones.Alternatively, keep it in your cloud storage sources for consumption by BI and analytics tools and other applications.

Componentes clavesKey components

Una suscripción de Azure puede tener una o varias instancias de Azure Data Factory (o factorías de datos).An Azure subscription can have one or more Azure Data Factory instances (or data factories). Azure Data Factory consta de cuatro componentes principales.Azure Data Factory is composed of four key components. Estos componentes funcionan juntos para proporcionar la plataforma en la que pueda crear flujos de trabajo basados en datos con pasos para moverlos y transformarlos.These components work together to provide the platform on which you can compose data-driven workflows with steps to move and transform data.

CanalizaciónPipeline

Una factoría de datos puede tener una o más canalizaciones.A data factory can have one or more pipelines. Una canalización es un grupo de actividades.A pipeline is a group of activities. Juntas, las actividades de una canalización realizan una tarea.Together, the activities in a pipeline perform a task.

Por ejemplo, una canalización puede contener un grupo de actividades que ingiere datos de un blob de Azure y luego ejecutar una consulta de Hive en un clúster de HDInsight para particionar los datos.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. La ventaja de esto es que la canalización le permite administrar las actividades como un conjunto en lugar de tener que administrar cada una de ellas individualmente.The benefit of this is that the pipeline allows you to manage the activities as a set instead of each one individually. Por ejemplo, puede implementar y programar la canalización completa, en lugar de programar actividades independientes.For example, you can deploy and schedule the pipeline, instead of scheduling independent activities.

ActividadActivity

Una canalización puede tener una o más actividades.A pipeline can have one or more activities. Las actividades definen las acciones que se van a realizar en los datos.Activities define the actions to perform on your data. Por ejemplo, puede utilizar una actividad de copia para copiar datos de un almacén de datos a otro.For example, you can use a copy activity to copy data from one data store to another data store. De forma similar, puede usar una actividad de Hive.Similarly, you can use a Hive activity. Una actividad de Hive ejecuta una consulta de Hive en un clúster de Azure HDInsight para transformar o analizar los datos.A Hive activity runs a Hive query on an Azure HDInsight cluster to transform or analyze your data. Data Factory admite dos tipos de actividades: actividades de movimiento de datos y actividades de transformación de datos.Data Factory supports two types of activities: data movement activities and data transformation activities.

Actividades de movimiento de datosData movement activities

Copiar actividad en Data Factory realiza una copia de los datos de un almacén de datos de origen a uno receptor.Copy Activity in Data Factory copies data from a source data store to a sink data store. Se pueden escribir datos desde cualquier origen en todos los tipos de receptores.Data from any source can be written to any sink. Seleccione un almacén de datos para aprender a copiar datos sus datos o a copiar datos en él.Select a data store to learn how to copy data to and from that store. Data Factory admite los siguientes almacenes de datos:Data Factory supports the following data stores:

CategoryCategory Almacén de datosData store Se admite como origenSupported as a source Se admite como receptorSupported as a sink
AzureAzure Almacenamiento de blobs de AzureAzure Blob storage
  Azure Cosmos DB (API de SQL)Azure Cosmos DB (SQL API)
  Azure Data Lake Storage Gen1Azure Data Lake Storage Gen1
  Azure SQL DatabaseAzure SQL Database
  Azure Synapse AnalyticsAzure Synapse Analytics
  Índice de Azure Cognitive SearchAzure Cognitive Search Index
  Azure Table StorageAzure Table storage
Bases de datosDatabases Amazon RedshiftAmazon Redshift
  DB2*DB2*
  MySQL*MySQL*
  Oracle*Oracle*
  PostgreSQL*PostgreSQL*
  SAP Business Warehouse*SAP Business Warehouse*
  SAP HANA*SAP HANA*
  SQL Server*SQL Server*
  Sybase*Sybase*
  Teradata*Teradata*
NoSQLNoSQL Cassandra*Cassandra*
  MongoDB*MongoDB*
ArchivoFile Amazon S3Amazon S3
  Sistema de archivos*File System*
  FTPFTP
  HDFS*HDFS*
  SFTPSFTP
OtrosOthers HTTP genéricoGeneric HTTP
  OData genéricoGeneric OData
  ODBC genérico*Generic ODBC*
  SalesforceSalesforce
  Tabla web (tabla de HTML)Web Table (table from HTML)

Para más información, consulte Movimiento de datos con la actividad de copia.For more information, see Move data by using Copy Activity.

Actividades de transformación de datosData transformation activities

Azure Data Factory admite las siguientes actividades de transformación que se pueden agregar a las canalizaciones tanto individualmente como encadenadas a otra actividad.Azure Data Factory supports the following transformation activities that can be added to pipelines either individually or chained with another activity.

Actividad de transformación de datosData transformation activity Entorno de procesosCompute environment
HiveHive HDInsight [Hadoop]HDInsight [Hadoop]
PigPig HDInsight [Hadoop]HDInsight [Hadoop]
de HadoopMapReduce HDInsight [Hadoop]HDInsight [Hadoop]
Hadoop StreamingHadoop Streaming HDInsight [Hadoop]HDInsight [Hadoop]
SparkSpark HDInsight [Hadoop]HDInsight [Hadoop]
Actividades de Machine Learning: ejecución de Batch y recurso de actualizaciónMachine Learning activities: Batch Execution and Update Resource Azure VMAzure VM
Procedimiento almacenadoStored Procedure Azure SQL, Azure Synapse Analytics o SQL ServerAzure SQL, Azure Synapse Analytics, or SQL Server
U-SQL de análisis con Data LakeData Lake Analytics U-SQL Análisis con Azure Data LakeAzure Data Lake Analytics
DotNetDotNet HDInsight [Hadoop] o Azure BatchHDInsight [Hadoop] or Azure Batch

Nota

Puede usar la actividad MapReduce para ejecutar programas Spark en su clúster de HDInsight Spark.You can use MapReduce activity to run Spark programs on your HDInsight Spark cluster. Consulte Invocar programas Spark desde Azure Data Factory para obtener más información.See Invoke Spark programs from Azure Data Factory for details. Puede crear una actividad personalizada para ejecutar scripts de R en su clúster de HDInsight con R instalado.You can create a custom activity to run R scripts on your HDInsight cluster with R installed. Consulte Run R Script using Azure Data Factory(Ejecutar script de R con Data Factory de Azure).See Run R Script using Azure Data Factory.

Para más información, consulte Movimiento de datos con la actividad de copia.For more information, see Move data by using Copy Activity.

Actividades personalizadas de .NETCustom .NET activities

Cree una actividad personalizada de .NET si necesita mover datos a un almacén de datos, o desde este, que no sean compatibles con la actividad de copia, o si necesita transformar datos con su propia lógica.Create a custom .NET activity if you need to move data to or from a data store that Copy Activity doesn't support or if you need to transform data by using your own logic. Consulte Uso de actividades personalizadas en una canalización de Azure Data Factory para más información sobre la creación y el uso de una actividad personalizada.For details about how to create and use a custom activity, see Use custom activities in an Azure Data Factory pipeline.

Conjuntos de datosDatasets

Cada actividad toma cero o más conjuntos de datos como entrada y genera uno o varios conjuntos de datos como salida.An activity takes zero or more datasets as inputs and one or more datasets as outputs. Los conjuntos de datos representan estructuras de datos en los almacenes de datos.Datasets represent data structures within the data stores. Estas estructuras apuntan o hacen referencia a los datos que desea utilizar en las actividades (por ejemplo, como entradas o salidas).These structures point to or reference the data you want to use in your activities (such as inputs or outputs).

Por ejemplo, un conjunto de datos de blob de Azure especifica el contenedor de blobs y la carpeta de Azure Blob Storage de los que la canalización debe leer los datos.For example, an Azure blob dataset specifies the blob container and folder in the Azure blob storage from which the pipeline should read the data. O bien, un conjunto de datos de tabla de Azure SQL especifica la tabla en la que la actividad escribe los datos de salida.Or an Azure SQL table dataset specifies the table to which the output data is written by the activity.

Servicios vinculadosLinked services

Los servicios vinculados son muy similares a las cadenas de conexión que definen la información de conexión necesaria para que Data Factory se conecte a recursos externos.Linked services are much like connection strings, which define the connection information that's needed for Data Factory to connect to external resources. Considérelos de esta forma: un servicio vinculado define la conexión al origen de datos y un conjunto de datos representa la estructura de los datos.Think of it this way: a linked service defines the connection to the data source and a dataset represents the structure of the data.

Por ejemplo, un servicio vinculado de Azure Storage especifica la cadena de conexión para conectarse a la cuenta de Azure Storage.For example, an Azure Storage-linked service specifies a connection string with which to connect to the Azure Storage account. Un conjunto de datos de un blob de Azure especifica el contenedor de blobs y la carpeta que contiene los datos.An Azure blob dataset specifies the blob container and the folder that contains the data.

Los servicios vinculados se utilizan en Data Factory por dos motivos:Linked services are used for two reasons in Data Factory:

  • Para representar un almacén de datos que incluye, entre otros, una base de datos de SQL Server, una base de datos de Oracle, un recurso compartido de archivos o una cuenta de Azure Blob Storage.To represent a data store that includes, but isn't limited to, a SQL Server database, Oracle database, file share, or Azure blob storage account. Para ver una lista de los almacenes de datos compatibles, consulte la sección Actividades de movimiento de datos .See the Data movement activities section for a list of supported data stores.

  • Para representar un recurso de proceso que puede hospedar la ejecución de una actividad.To represent a compute resource that can host the execution of an activity. Por ejemplo, la actividad HDInsightHive se ejecuta en un clúster de Hadoop para HDInsight.For example, the HDInsightHive activity runs on an HDInsight Hadoop cluster. Consulte la sección Actividades de transformación de datos para ver una lista de los entornos de proceso admitidos.See the Data transformation activities section for a list of supported compute environments.

Relación entre las entidades de Data FactoryRelationship between Data Factory entities

Diagrama: Data Factory, un servicio de integración de datos en la nube (conceptos clave)

Regiones admitidasSupported regions

Actualmente, se pueden crear factorías de datos en las regiones Oeste de EE. UU., Este de EE.UU. y Norte de Europa.Currently, you can create data factories in the West US, East US, and North Europe regions. Sin embargo, una factoría de datos puede acceder a almacenes de datos y a servicios de proceso en otras regiones de Azure para mover datos entre almacenes de datos o para procesarlos mediante servicios de proceso.However, a data factory can access data stores and compute services in other Azure regions to move data between data stores or process data by using compute services.

Azure Data Factory no almacena ningún dato.Azure Data Factory itself does not store any data. Permite crear flujos de trabajo basados en datos para orquestar el movimiento de datos entre almacenes de datos compatibles.It lets you create data-driven workflows to orchestrate the movement of data between supported data stores. Por otra parte, permite procesar datos mediante servicios de proceso en otras regiones o en un entorno local.It also lets you process data by using compute services in other regions or in an on-premises environment. También permite supervisar y administrar flujos de trabajo mediante mecanismos de programación y de interfaz de usuario.It also allows you to monitor and manage workflows by using both programmatic and UI mechanisms.

Data Factory solo está disponible en las regiones Oeste de EE. UU., Este de EE. UU. y Norte de Europa.Data Factory is available in only West US, East US, and North Europe regions. Sin embargo, el servicio que alimenta el movimiento de datos en Data Factory está disponible globalmente en varias regiones.However, the service that powers the data movement in Data Factory is available globally in several regions. Si un almacén de datos se encuentra detrás de un firewall, será una instancia de Data Management Gateway instalada en el entorno local la que mueva los datos en su lugar.If a data store is behind a firewall, then a Data Management Gateway that's installed in your on-premises environment moves the data instead.

Por ejemplo, supongamos que sus entornos de proceso, tales como un clúster de Azure HDInsight y Azure Machine Learning, se encuentran en la región Oeste de Europa.For an example, let's assume that your compute environments such as Azure HDInsight cluster and Azure Machine Learning are located in the West Europe region. Puede crear y utilizar una instancia de Azure Data Factory de Norte de Europa.You can create and use an Azure Data Factory instance in North Europe. Después, puede usarla para programar trabajos en los entornos de proceso de Oeste de Europa.Then you can use it to schedule jobs on your compute environments in West Europe. Data Factory tarda unos milisegundos en desencadenar el trabajo en su entorno de proceso, pero el tiempo para ejecutar el trabajo en el entorno de proceso no cambia.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.

Introducción a la creación de una canalizaciónGet started with creating a pipeline

Puede usar una de esas herramientas o una de estas API para crear canalizaciones de datos en Azure Data Factory:You can use one of these tools or APIs to create data pipelines in Azure Data Factory:

  • Visual StudioVisual Studio
  • PowerShellPowerShell
  • API de .NET.NET API
  • API DE RESTREST API
  • Plantilla del Administrador de recursos de AzureAzure Resource Manager template

Para aprender a compilar factorías de datos con canalizaciones de datos, siga las instrucciones paso a paso de los siguientes tutoriales:To learn how to build data factories with data pipelines, follow the step-by-step instructions in the following tutorials:

TutorialTutorial DescripciónDescription
Movimiento de datos entre dos almacenes de datos en la nubeMove data between two cloud data stores Cree una factoría de datos con una canalización que mueva datos de Blob Storage a SQL Database.Create a data factory with a pipeline that moves data from blob storage to SQL Database.
Transformación de datos con el clúster de HadoopTransform data by using Hadoop cluster Compile su primera instancia de Azure Data Factory con una canalización de datos que procese los datos al ejecutar un script de Hive en un clúster de Azure HDInsight (Hadoop).Build your first Azure data factory with a data pipeline that processes data by running a Hive script on an Azure HDInsight (Hadoop) cluster.
Movimiento de datos entre un almacén de datos local y un almacén de datos en la nube con Data Management GatewayMove data between an on-premises data store and a cloud data store by using Data Management Gateway Compile una factoría de datos con una canalización que mueva los datos de una base de datos de SQL Server a un blob de Azure.Build a data factory with a pipeline that moves data from a SQL Server database to an Azure blob. Como parte del tutorial, instalará y configurará la puerta de enlace de administración de datos en su máquina.As part of the walkthrough, you install and configure the Data Management Gateway on your machine.