Tutorial: Construa o seu primeiro oleoduto para transformar dados usando o cluster HadoopTutorial: Build your first pipeline to transform data using Hadoop cluster

Nota

Este artigo aplica-se à versão 1 do Data Factory.This article applies to version 1 of Data Factory. Se estiver a utilizar a versão atual do serviço Data Factory, veja o Início Rápido: criar uma fábrica de dados com o Azure Data Factory.If you are using the current version of the Data Factory service, see Quickstart: Create a data factory using Azure Data Factory.

Neste tutorial, constrói a sua primeira fábrica de dados Azure com um pipeline de dados.In this tutorial, you build your first Azure data factory with a data pipeline. O oleoduto transforma dados de entrada executando o script da Hive num cluster Azure HDInsight (Hadoop) para produzir dados de saída.The pipeline transforms input data by running Hive script on an Azure HDInsight (Hadoop) cluster to produce output data.

Este artigo fornece uma visão geral e pré-requisitos para o tutorial.This article provides overview and prerequisites for the tutorial. Depois de completar os pré-requisitos, pode fazer o tutorial usando uma das seguintes ferramentas/SDKs: Visual Studio, PowerShell, Resource Manager, REST API.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. Selecione uma das opções na lista de drop-down no início (ou) links no final deste artigo para fazer o tutorial usando uma destas opções.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.

Descrição geral do tutorialTutorial overview

Neste tutorial, vai executar os seguintes passos:In this tutorial, you perform the following steps:

  1. Criar uma fábrica de dados.Create a data factory. Uma fábrica de dados pode conter um ou mais oleodutos de dados que se movem e transformam dados.A data factory can contain one or more data pipelines that move and transform data.

    Neste tutorial, cria-se um oleoduto na fábrica de dados.In this tutorial, you create one pipeline in the data factory.

  2. Criar um oleoduto.Create a pipeline. Um pipeline pode ter uma ou mais atividades (exemplos: Atividade de Cópia, Atividade Hive do HDInsight).A pipeline can have one or more activities (Examples: Copy Activity, HDInsight Hive Activity). Esta amostra usa a atividade de Hive HDInsight que executa um script de Colmeia em um cluster HDInsight Hadoop.This sample uses the HDInsight Hive activity that runs a Hive script on a HDInsight Hadoop cluster. O script cria primeiro uma tabela que faz referência aos dados de registo sonoro armazenados no armazenamento de blob Azure e, em seguida, divisórias os dados brutos por ano e mês.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.

    Neste tutorial, o oleoduto utiliza a Atividade da Colmeia para transformar dados executando uma consulta de Hive num cluster Azure HDInsight Hadoop.In this tutorial, the pipeline uses the Hive Activity to transform data by running a Hive query on an Azure HDInsight Hadoop cluster.

  3. Criar serviços ligados.Create linked services. Cria um serviço ligado para ligar um arquivo de dados ou um serviço de computação à fábrica de dados.You create a linked service to link a data store or a compute service to the data factory. Um arquivo de dados como o Armazenamento do Azure contém dados de entrada/saída de atividades no pipeline.A data store such as Azure Storage holds input/output data of activities in the pipeline. Um serviço de computação como o hdInsight Hadoop processa/transforma dados.A compute service such as HDInsight Hadoop cluster processes/transforms data.

    Neste tutorial, cria dois serviços ligados: Azure Storage e Azure HDInsight.In this tutorial, you create two linked services: Azure Storage and Azure HDInsight. O serviço ligado ao Azure Storage liga uma Conta de Armazenamento Azure que detém os dados de entrada/saída para a fábrica de dados.The Azure Storage linked service links an Azure Storage Account that holds the input/output data to the data factory. O serviço ligado a Azure HDInsight liga um cluster Azure HDInsight que é usado para transformar dados na fábrica de dados.Azure HDInsight linked service links an Azure HDInsight cluster that is used to transform data to the data factory.

  4. Criar conjuntos de dados de entrada e de saída.Create input and output datasets. Um conjunto de dados de entrada representa a entrada de uma atividade no pipeline e um conjunto de dados de saída representa a saída da atividade.An input dataset represents the input for an activity in the pipeline and an output dataset represents the output for the activity.

    Neste tutorial, os conjuntos de dados de entrada e saída especificam as localizações dos dados de entrada e saída no Azure Blob Storage.In this tutorial, the input and output datasets specify locations of input and output data in the Azure Blob Storage. O serviço ligado ao Azure Storage especifica o que é utilizado na Conta de Armazenamento Azure.The Azure Storage linked service specifies what Azure Storage Account is used. Um conjunto de dados de entrada especifica onde os ficheiros de entrada estão localizados e um conjunto de dados de saída especifica onde os ficheiros de saída são colocados.An input dataset specifies where the input files are located and an output dataset specifies where the output files are placed.

Consulte o artigo de Introdução à Fábrica de Dados Azure para uma visão detalhada da Azure Data Factory.See Introduction to Azure Data Factory article for a detailed overview of Azure Data Factory.

Aqui está a vista do diagrama da fábrica de dados de amostra que você constrói neste tutorial.Here is the diagram view of the sample data factory you build in this tutorial. MyFirstPipeline tem uma atividade do tipo Hive que consome o conjunto de dados AzureBlobInput como uma entrada e produz o conjunto de dados AzureBlobOut como uma saída.MyFirstPipeline has one activity of type Hive that consumes AzureBlobInput dataset as an input and produces AzureBlobOutput dataset as an output.

Vista de diagrama no tutorial do Data Factory

Neste tutorial, a pasta inputdata do recipiente adfgetstarted Azure blob contém um ficheiro nomeado entrada.log.In this tutorial, inputdata folder of the adfgetstarted Azure blob container contains one file named input.log. Este ficheiro de registo tem entradas de três meses: janeiro, fevereiro e março de 2016.This log file has entries from three months: January, February, and March of 2016. Seguem-se as linhas de exemplo para cada mês no ficheiro 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

Quando o ficheiro é processado pelo pipeline com a Atividade Hive do HDInsight, a atividade executa um script Hive no cluster do HDInsight que cria partições dos dados de entrada por ano e mês.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. O script cria três pastas de saída que contêm um ficheiro com as entradas de cada mês.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

Das linhas de amostra acima apresentadas, a primeira (com 2016-01-01) é escrita para o ficheiro 000000_0 na pasta mês=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. Do mesmo modo, a segunda é escrita no ficheiro na pasta month=2 e a terceira é escrita no ficheiro na pasta 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.

Pré-requisitosPrerequisites

Antes de começar este tutorial, tem de ter os seguintes pré-requisitos:Before you begin this tutorial, you must have the following prerequisites:

  1. Subscrição do Azure - Se não tiver uma subscrição do Azure, pode criar uma conta de avaliação gratuita em apenas alguns minutos.Azure subscription - If you don't have an Azure subscription, you can create a free trial account in just a couple of minutes. Veja o artigo Avaliação Gratuita sobre como poderá obter uma conta de avaliação gratuita.See the Free Trial article on how you can obtain a free trial account.
  2. Armazenamento do Azure – Utilize uma conta de armazenamento do Azure para armazenar os dados deste tutorial.Azure Storage – You use an Azure storage account for storing the data in this tutorial. Se não tiver uma conta de armazenamento do Azure, veja o artigo Criar uma conta de armazenamento.If you don't have an Azure storage account, see the Create a storage account article. Depois de ter criado a conta de armazenamento, anote o nome da conta e a chave de acesso.After you have created the storage account, note down the account name and access key. Para obter informações sobre como recuperar as chaves de acesso à conta de armazenamento, consulte as teclas de acesso à conta de armazenamento.For information about how to retrieve the storage account access keys, see Manage storage account access keys.
  3. Faça o download e reveja o ficheiro de consulta da Hive (HQL) localizado em: 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 dados de entrada para produzir dados de saída.This query transforms input data to produce output data.
  4. Faça o download e reveja o ficheiro de entrada de amostra (entrada.log) localizado em: 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. Crie um recipiente blob chamado adfgetstared no seu Azure Blob Storage.Create a blob container named adfgetstarted in your Azure Blob Storage.
  6. Faça o upload do ficheiro partitionweblogs.hql para a pasta de scripts no recipiente adfgetstarted.Upload partitionweblogs.hql file to the script folder in the adfgetstarted container. Utilize ferramentas como o Microsoft Azure Storage Explorer.Use tools such as Microsoft Azure Storage Explorer.
  7. Faça o upload da entrada.log ficheiro para a pasta de dados de entrada no recipiente adfgetstarted.Upload input.log file to the inputdata folder in the adfgetstarted container.

Depois de completar os pré-requisitos, selecione uma das seguintes ferramentas/SDKs para fazer o tutorial:After you complete the prerequisites, select one of the following tools/SDKs to do the tutorial:

O Visual Studio fornece uma forma GUI de construir as suas fábricas de dados.Visual Studio provides a GUI way of building your data factories. Enquanto que as opções powerShell, Resource Manager e REST API fornecem a forma de script/programação de construir as suas fábricas de dados.Whereas, PowerShell, Resource Manager Template, and REST API options provides scripting/programming way of building your data factories.

Nota

O pipeline de dados neste tutorial transforma os dados de entrada para produzirem dados de saída.The data pipeline in this tutorial transforms input data to produce output data. Não copia dados de um de dados de origem para um arquivo de dados de destino.It does not copy data from a source data store to a destination data store. Para um tutorial sobre como copiar dados com o Azure Data Factory, consulte Tutorial: Copy data from Blob Storage to SQL Database (Tutorial: copiar dados do Armazenamento de Blobs para a Base de Dados SQL).For a tutorial on how to copy data using Azure Data Factory, see Tutorial: Copy data from Blob Storage to SQL Database.

Pode encadear duas atividades (executar uma atividade após a outra) ao definir o conjunto de dados de saída de uma atividade como o conjunto de dados de entrada da outra atividade.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. Consulte Scheduling and execution in Data Factory (Agendamento e execução no Data Factory) para obter informações detalhadas.See Scheduling and execution in Data Factory for detailed information.