Tutorial: Compilación de la primera canalización para procesar datos mediante el clúster de HadoopTutorial: Build your first pipeline to transform data using Hadoop cluster

Nota

Este artículo se aplica a la versión 1 de Data Factory.This article applies to version 1 of Data Factory. Si usa la versión actual del servicio Data Factory, consulte Guía de inicio rápido: Creación de una factoría de datos mediante Data Factory.If you are using the current version of the Data Factory service, see Quickstart: Create a data factory using Azure Data Factory.

En este tutorial, se crea una instancia de Azure Data Factory con una canalización de datos.In this tutorial, you build your first Azure data factory with a data pipeline. La canalización transforma los datos de entrada mediante la ejecución de un script de Hive en un clúster de Azure HDInsight (Hadoop) para generar datos de salida.The pipeline transforms input data by running Hive script on an Azure HDInsight (Hadoop) cluster to produce output data.

Este artículo se proporciona información general del tutorial y se indican sus requisitos previos.This article provides overview and prerequisites for the tutorial. Cuando se cumplan los requisitos previos, puede realizar el tutorial mediante uno de los siguientes SDK o herramientas: Visual Studio, PowerShell, plantilla de Resource Manager o API REST.After you complete the prerequisites, you can do the tutorial using one of the following tools/SDKs: Visual Studio, PowerShell, Resource Manager template, REST API. Seleccione una de las opciones de la lista desplegable del principio o los vínculos del final de este artículo para realizar el tutorial mediante una de estas opciones.Select one of the options in the drop-down list at the beginning (or) links at the end of this article to do the tutorial using one of these options.

Información general del tutorialTutorial overview

En este tutorial, realizará los siguientes pasos:In this tutorial, you perform the following steps:

  1. Crear una factoría de datos.Create a data factory. Una factoría de datos puede contener una o varias canalizaciones de datos que mueven y procesan datos.A data factory can contain one or more data pipelines that move and transform data.

    En este tutorial, se crea una canalización de la factoría de datos.In this tutorial, you create one pipeline in the data factory.

  2. Crear una canalización.Create a pipeline. Una canalización puede tener una o varias actividades (ejemplos: actividad de copia, actividad de Hive en HDInsight).A pipeline can have one or more activities (Examples: Copy Activity, HDInsight Hive Activity). Este ejemplo usa la actividad de Hive de HDInsight que ejecuta un script de Hive en un clúster de Hadoop de HDInsight.This sample uses the HDInsight Hive activity that runs a Hive script on a HDInsight Hadoop cluster. El script crea primero una tabla que hace referencia a los datos de blog sin procesar almacenados en Azure Blob Storage y, después, divide los datos sin procesar por año y mes.The script first creates a table that references the raw web log data stored in Azure blob storage and then partitions the raw data by year and month.

    En este tutorial, la canalización usa Actividad de Hive para transformar datos, para lo que ejecuta una consulta de Hive en un clúster de Hadoop de Azure HDInsight.In this tutorial, the pipeline uses the Hive Activity to transform data by running a Hive query on an Azure HDInsight Hadoop cluster.

  3. Cree servicios vinculados.Create linked services. Un servicio vinculado se crea para vincular un almacén de datos o servicio de proceso a la factoría de datos.You create a linked service to link a data store or a compute service to the data factory. Un almacén de datos como Azure Storage contiene los datos de entrada y salida de las actividades de la canalización.A data store such as Azure Storage holds input/output data of activities in the pipeline. Un servicio de proceso como un clúster de Hadoop de HDInsight procesa y transforma los datos.A compute service such as HDInsight Hadoop cluster processes/transforms data.

    En este tutorial se crean dos servicios vinculados: Azure Storage y Azure HDInsight.In this tutorial, you create two linked services: Azure Storage and Azure HDInsight. El servicio vinculado Azure Storage vincula una cuenta de Azure Storage que contiene los datos de entrada/salida con la factoría de datos.The Azure Storage linked service links an Azure Storage Account that holds the input/output data to the data factory. El servicio vinculado Azure HDInsight vincula un clúster de Azure HDInsight que se utiliza para transformar los datos con la factoría de datos.Azure HDInsight linked service links an Azure HDInsight cluster that is used to transform data to the data factory.

  4. Crear conjuntos de datos de entrada y salida.Create input and output datasets. Un conjunto de datos de entrada representa la entrada para una actividad de la canalización y un conjunto de datos de salida representa la salida de la actividad.An input dataset represents the input for an activity in the pipeline and an output dataset represents the output for the activity.

    En este tutorial, los conjuntos de datos de entrada y salida especifican las ubicaciones de los datos de entrada y salida en Azure Blob Storage.In this tutorial, the input and output datasets specify locations of input and output data in the Azure Blob Storage. El servicio vinculado Azure Storage especifica qué cuenta de Azure Storage se usa.The Azure Storage linked service specifies what Azure Storage Account is used. Un conjunto de datos de entrada especifica el lugar en que se encuentran los archivos de entrada, mientras que un conjunto de datos de salida especifica el lugar en que se colocan los archivos de salida.An input dataset specifies where the input files are located and an output dataset specifies where the output files are placed.

Para obtener información general detallada de Azure Data Factory, consulte el artículo Introducción a Azure Data Factory.See Introduction to Azure Data Factory article for a detailed overview of Azure Data Factory.

Este es la vista de diagrama de la factoría de datos de ejemplo creada en este tutorial.Here is the diagram view of the sample data factory you build in this tutorial. MyFirstPipeline tiene una actividad del tipo Hive que consume el conjunto de datos AzureBlobInput como entrada y genera el conjunto de datos AzureBlobOutput como salida.MyFirstPipeline has one activity of type Hive that consumes AzureBlobInput dataset as an input and produces AzureBlobOutput dataset as an output.

Vista de diagrama en el tutorial de Data Factory

En este tutorial, la carpeta inputdata del contenedor de blobs de Azure adfgetstarted contiene un archivo llamado input.log.In this tutorial, inputdata folder of the adfgetstarted Azure blob container contains one file named input.log. Este archivo de registro tiene entradas de tres meses: enero, febrero y marzo de 2016.This log file has entries from three months: January, February, and March of 2016. Aquí están las filas de ejemplo para cada mes en el archivo de entrada.Here are the sample rows for each month in the input file.

2016-01-01,02:01:09,SAMPLEWEBSITE,GET,/blogposts/mvc4/step2.png,X-ARR-LOG-ID=2ec4b8ad-3cf0-4442-93ab-837317ece6a1,80,-,1.54.23.196,Mozilla/5.0+(Windows+NT+6.3;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/31.0.1650.63+Safari/537.36,-,http://weblogs.asp.net/sample/archive/2007/12/09/asp-net-mvc-framework-part-4-handling-form-edit-and-post-scenarios.aspx,\N,200,0,0,53175,871
2016-02-01,02:01:10,SAMPLEWEBSITE,GET,/blogposts/mvc4/step7.png,X-ARR-LOG-ID=d7472a26-431a-4a4d-99eb-c7b4fda2cf4c,80,-,1.54.23.196,Mozilla/5.0+(Windows+NT+6.3;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/31.0.1650.63+Safari/537.36,-,http://weblogs.asp.net/sample/archive/2007/12/09/asp-net-mvc-framework-part-4-handling-form-edit-and-post-scenarios.aspx,\N,200,0,0,30184,871
2016-03-01,02:01:10,SAMPLEWEBSITE,GET,/blogposts/mvc4/step7.png,X-ARR-LOG-ID=d7472a26-431a-4a4d-99eb-c7b4fda2cf4c,80,-,1.54.23.196,Mozilla/5.0+(Windows+NT+6.3;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/31.0.1650.63+Safari/537.36,-,http://weblogs.asp.net/sample/archive/2007/12/09/asp-net-mvc-framework-part-4-handling-form-edit-and-post-scenarios.aspx,\N,200,0,0,30184,871

Cuando la canalización procesa el archivo mediante la actividad de Hive de HDInsight, esta actividad ejecuta un script de Hive en el clúster de HDInsight que divide los datos de entrada por año y mes.When the file is processed by the pipeline with HDInsight Hive Activity, the activity runs a Hive script on the HDInsight cluster that partitions input data by year and month. El script crea tres carpetas de salida que contienen un archivo con entradas de cada mes.The script creates three output folders that contain a file with entries from each month.

adfgetstarted/partitioneddata/year=2016/month=1/000000_0
adfgetstarted/partitioneddata/year=2016/month=2/000000_0
adfgetstarted/partitioneddata/year=2016/month=3/000000_0

De las líneas de ejemplo mostradas anteriormente, la primera de ellas (con 2016-01-01) se escribirá en el archivo 000000_0 en la carpeta month=1.From the sample lines shown above, the first one (with 2016-01-01) is written to the 000000_0 file in the month=1 folder. De igual manera, la segunda se escribirá en el archivo de la carpeta month=2 y la tercera en el archivo de la carpeta month=3.Similarly, the second one is written to the file in the month=2 folder and the third one is written to the file in the month=3 folder.

Requisitos previosPrerequisites

Antes de comenzar este tutorial, debe cumplir los siguientes requisitos previos:Before you begin this tutorial, you must have the following prerequisites:

  1. Suscripción de Azure : si no tiene ninguna, puede crear una cuenta de evaluación gratuita en un par de minutos.Azure subscription - If you don't have an Azure subscription, you can create a free trial account in just a couple of minutes. Consulte el artículo Evaluación gratuita sobre cómo puede obtener una cuenta de evaluación gratuita.See the Free Trial article on how you can obtain a free trial account.
  2. Azure Storage : para almacenar los datos de este tutorial usará una cuenta de Azure Storage.Azure Storage – You use an Azure storage account for storing the data in this tutorial. Si no dispone de una cuenta de almacenamiento de Azure, vea el artículo Creación de una cuenta de almacenamiento .If you don't have an Azure storage account, see the Create a storage account article. Después de haber creado la cuenta de almacenamiento, anote el nombre de la cuenta y la clave de acceso.After you have created the storage account, note down the account name and access key. Para más información sobre cómo recuperar las claves de acceso de las cuentas de almacenamiento, consulte Administración de claves de acceso de cuentas de almacenamiento.For information about how to retrieve the storage account access keys, see Manage storage account access keys.
  3. Descargue y revise el archivo de consulta de Hive (HQL) ubicado en: https://adftutorialfiles.blob.core.windows.net/hivetutorial/partitionweblogs.hql.Download and review the Hive query file (HQL) located at: https://adftutorialfiles.blob.core.windows.net/hivetutorial/partitionweblogs.hql. Esta consulta transforma los datos de entrada para generar datos de salida.This query transforms input data to produce output data.
  4. Descargue y revise el archivo de entrada de ejemplo (input.log) ubicado en: https://adftutorialfiles.blob.core.windows.net/hivetutorial/input.logDownload and review the sample input file (input.log) located at: https://adftutorialfiles.blob.core.windows.net/hivetutorial/input.log
  5. Crear un contenedor de blobs denominado adfgetstarted en Azure Blob Storage.Create a blob container named adfgetstarted in your Azure Blob Storage.
  6. Cargue el archivo partitionweblogs.hql en la carpeta script del contenedor adfgetstarted.Upload partitionweblogs.hql file to the script folder in the adfgetstarted container. Use herramientas como el Explorador de Microsoft Azure Storage.Use tools such as Microsoft Azure Storage Explorer.
  7. Cargue el archivo input.log en la carpeta inputdata del contenedor adfgetstarted.Upload input.log file to the inputdata folder in the adfgetstarted container.

Una vez que se cumplan los requisitos previos, seleccione uno de los siguientes SDK o herramientas para realizar el tutorial:After you complete the prerequisites, select one of the following tools/SDKs to do the tutorial:

Visual Studio proporciona una forma de generar factorías de datos mediante GUI.Visual Studio provides a GUI way of building your data factories. Mientras que las opciones de PowerShell, la plantilla de Resource Manager y la API de REST proporcionan una forma de generar factorías de datos mediante scripts/programación.Whereas, PowerShell, Resource Manager Template, and REST API options provides scripting/programming way of building your data factories.

Nota

En este tutorial, la canalización de datos transforma los datos de entrada para generar datos de salida.The data pipeline in this tutorial transforms input data to produce output data. No copia los datos de un almacén de datos de origen a un almacén de datos de destino.It does not copy data from a source data store to a destination data store. Para ver un tutorial acerca de cómo copiar datos mediante Azure Data Factory, consulte Tutorial: Copia de datos de Blob Storage en SQL Database.For a tutorial on how to copy data using Azure Data Factory, see Tutorial: Copy data from Blob Storage to SQL Database.

Puede encadenar dos actividades (ejecutar una después de otra) haciendo que el conjunto de datos de salida de una actividad sea el conjunto de datos de entrada de la otra actividad.You can chain two activities (run one activity after another) by setting the output dataset of one activity as the input dataset of the other activity. Para más información, consulte Programación y ejecución en Data Factory.See Scheduling and execution in Data Factory for detailed information.