O que é o Azure Data Factory?What is Azure Data Factory?

No mundo dos macrodados, muitas vezes, são armazenados dados desorganizados e não processados em sistemas relacionais, não relacionais, entre outros.In the world of big data, raw, unorganized data is often stored in relational, non-relational, and other storage systems. No entanto, por si só, os dados não processados não têm o contexto ou o significado adequado para disponibilizar informações significativas para analistas, cientistas de dados ou decisores empresariais.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.

Os macrodados precisam de um serviço que orquestre e operacionalize processos para refinar estes enormes arquivos de dados não processados em informações comerciais acionáveis.Big data requires service that can orchestrate and operationalize processes to refine these enormous stores of raw data into actionable business insights. O Azure Data Factory é um serviço na cloud gerido criado para estes projetos complexos e híbridos de extract-transform-load (ETL), extract-load-transform (ELT) e integração de dados.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.

Por exemplo, imagine uma empresa de jogos que recolhe petabytes de registos de jogos que são produzidos por jogos na cloud.For example, imagine a gaming company that collects petabytes of game logs that are produced by games in the cloud. A empresa quer analisar estes registos para obter informações sobre as preferências dos clientes, dados demográficos e comportamentos de utilização.The company wants to analyze these logs to gain insights into customer preferences, demographics, and usage behavior. Quer também identificar as oportunidades de vendas superiores e vendas cruzadas, desenvolver funcionalidades novas e apelativas, impulsionar o crescimento do negócio e proporcionar uma melhor experiência aos clientes.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.

Para analisar estes registos, a empresa tem de utilizar dados de referência, como informações do cliente, informações do jogo, informações de campanhas de marketing, que se encontram num arquivo de dados no local.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. A empresa quer utilizar estes dados a partir do arquivo de dados no local e combiná-los com os dados de registos adicionais que tem num arquivo de dados na cloud.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.

Para extrair informações, espera processar os dados combinados mediante a utilização de um cluster do Spark na cloud (Azure HDInsight) e, por fim, publicar os dados transformados num armazém de dados na cloud, como o Azure SQL Data Warehouse, para criar facilmente um relatório com base no mesmo.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. Pretende automatizar este fluxo de trabalho e monitorizá-lo e geri-lo com base numa agenda diária.They want to automate this workflow, and monitor and manage it on a daily schedule. Também quer executá-lo quando são adicionados ficheiros a um contentor de arquivo de blobs.They also want to execute it when files land in a blob store container.

O Azure Data Factory é a plataforma que resolve estes cenários de dados.Azure Data Factory is the platform that solves such data scenarios. É o ETL baseado em nuvem e o serviço de integração de dados que permite criar fluxos de trabalho controlados por dados para orquestrar a movimentação de dados e transformar dados em escala.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. Ao utilizar o Azure Data Factory, pode criar e agendar fluxos de trabalho orientados por dados (denominados pipelines) que podem ingerir dados a partir de arquivos de dados diferentes.Using Azure Data Factory, you can create and schedule data-driven workflows (called pipelines) that can ingest data from disparate data stores. Você pode criar processos de ETL complexos que transformam os dados visualmente com fluxos de dados ou usando serviços de computação, como Azure HDInsight Hadoop, Azure Databricks e o 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.

Além disso, você pode publicar seus dados transformados em armazenamentos de dados, como o Azure SQL Data Warehouse para que os aplicativos de business intelligence (BI) consumam.Additionally, you can publish your transformed data to data stores such as Azure SQL Data Warehouse for business intelligence (BI) applications to consume. Em última análise, através do Azure Data Factory, os dados não processados podem ser organizados em arquivos de dados com significado e em data lakes para uma melhor tomada de decisões empresariais.Ultimately, through Azure Data Factory, raw data can be organized into meaningful data stores and data lakes for better business decisions.

Vista de nível superior do Data Factory

Como funciona?How does it work?

O Data Factory contém uma série de sistemas interconectados que fornecem uma plataforma completa para engenheiros de dados.Data Factory contains a series of interconnected systems that provide a complete end-to-end platform for data engineers.

Ligar e recolherConnect and collect

As empresas têm dados dos mais diversos tipos localizados em diferentes origens, seja no local, na cloud, estruturadas, não estruturadas e semi-estruturadas, que são recebidos em intervalos e velocidades distintos.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.

O primeiro passo na criação de um sistema de produção de informação é ligar a todas as origens de dados e processamento necessários, como serviços de software como serviços de software como serviço (SaaS), bases de dados, partilhas de ficheiros e serviços Web de 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. O passo seguinte é mover os dados conforme necessário para uma localização centralizada, para processamento subsequente.The next step is to move the data as needed to a centralized location for subsequent processing.

Sem o Data Factory, as empresas têm de criar componentes de movimento de dados personalizados ou escrever serviços personalizados para integrar essas origens de dados e esse processamento.Without Data Factory, enterprises must build custom data movement components or write custom services to integrate these data sources and processing. Integrar e manter estes sistemas é dispendioso e difícil.It's expensive and hard to integrate and maintain such systems. Além disso, muitas vezes, não têm monitorização, alertas e controlos de nível empresarial que um serviço totalmente gerido pode oferecer.In addition, they often lack the enterprise-grade monitoring, alerting, and the controls that a fully managed service can offer.

Com o Data Factory, pode utilizar a Atividade de Cópia num pipeline de dados para mover dados de arquivos de dados no local e na cloud para um arquivo centralizado na cloud, para análises adicionais.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 exemplo, você pode coletar dados em Azure Data Lake Storage e transformar os dados mais tarde usando um serviço de computação 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. Também pode recolher dados no armazenamento de blobs do Azure e transformá-los mais tarde com um cluster do Azure HDInsight Hadoop.You can also collect data in Azure Blob storage and transform it later by using an Azure HDInsight Hadoop cluster.

Transformar e enriquecerTransform and enrich

Depois que os dados estiverem presentes em um armazenamento de dados centralizado na nuvem, processe ou transforme os dados coletados usando fluxos de dados de mapeamento do ADF.After data is present in a centralized data store in the cloud, process or transform the collected data by using ADF mapping data flows. Os fluxos de dados permitem que os engenheiros de dados criem e mantenham gráficos de transformação de dados que são executados no Spark sem a necessidade de entender clusters Spark ou a programação 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.

Se você preferir transformações de código manualmente, o ADF dá suporte a atividades externas para executar suas transformações em serviços de computação, como HDInsight Hadoop, Spark, Data Lake Analytics e 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 e publicarCI/CD and publish

O Data Factory oferece suporte completo para CI/CD de seus pipelines de dados usando o Azure DevOps e o GitHub.Data Factory offers full support for CI/CD of your data pipelines using Azure DevOps and GitHub. Isso permite que você desenvolva e entregue incrementalmente seus processos de ETL antes de publicar o produto concluído.This allows you to incrementally develop and deliver your ETL processes before publishing the finished product. Quando os dados não processados estiverem refinados e prontos para consumo por parte das empresas, carregue os dados para o Azure Data Warehouse, para a Base de Dados SQL do Azure, para o Azure CosmosDB ou para qualquer que seja o motor de análise para o qual os seus utilizadores empresariais podem apontar a partir as ferramentas de business intelligence que utilizam.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.

MonitorizarMonitor

Depois de criar e implementar com êxito o seu pipeline de integração de dados, proporcionando valor comercial a partir dos dados refinados, monitorize as atividades e os pipelines agendados relativamente às taxas de êxito e falha.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. O Azure Data Factory tem suporte interno para monitoramento de pipeline por meio de Azure Monitor, API, PowerShell, logs de Azure Monitor e painéis de integridade no portal do 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.

Principais conceitosTop-level concepts

As subscrições do Azure podem ter uma ou várias instâncias do Azure Data Factory (ou fábricas de dados).An Azure subscription might have one or more Azure Data Factory instances (or data factories). O Azure Data Factory é constituído por quatro componentes principais.Azure Data Factory is composed of four key components. Estes componentes funcionam em conjunto para fornecer a plataforma na qual pode compor fluxos de trabalho orientados por dados com passos para mover e transformar dados.These components work together to provide the platform on which you can compose data-driven workflows with steps to move and transform data.

PipelinePipeline

Uma fábrica de dados pode ter um ou mais pipelines.A data factory might have one or more pipelines. Os pipelines são agrupamentos lógicos de atividades que realizam uma unidade de trabalho.A pipeline is a logical grouping of activities that performs a unit of work. Em conjunto, as atividades num pipeline executam tarefas.Together, the activities in a pipeline perform a task. Por exemplo, um pipeline pode conter um grupo de atividades que ingere dados de um blob do Azure e, em seguida, executa uma consulta de Hive num cluster do HDInsight para particionar os dados.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.

A vantagem neste caso é que o pipeline lhe permite gerir as atividades como um conjunto, em vez de individualmente.The benefit of this is that the pipeline allows you to manage the activities as a set instead of managing each one individually. As atividades num pipeline podem ser encadeadas para funcionar sequencialmente ou podem funcionar de forma independente em paraleloThe activities in a pipeline can be chained together to operate sequentially, or they can operate independently in parallel.

Fluxos de dados de mapeamentoMapping data flows

Crie e gerencie grafos de lógica de transformação de dados que você pode usar para transformar dados de qualquer tamanho.Create and manage graphs of data transformation logic that you can use to transform any-sized data. Você pode criar uma biblioteca reutilizável de rotinas de transformação de dados e executar esses processos de maneira expandida de seus pipelines do 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 executará sua lógica em um cluster Spark que gira e gira quando você precisar dela.Data Factory will execute your logic on a Spark cluster that spins-up and spins-down when you need it. Você nunca precisará gerenciar ou manter clusters.You won't ever have to manage or maintain clusters.

AtividadeActivity

As atividades representam uma fase de processamento num pipeline.Activities represent a processing step in a pipeline. Por exemplo, pode utilizar uma atividade de cópia para copiar dados de um arquivo de dados para outro.For example, you might use a copy activity to copy data from one data store to another data store. Da mesma forma, pode utilizar uma atividade do Hive, que executa uma consulta do Hive num cluster do Azure HDInsight, para transformar ou analisar os seus dados.Similarly, you might use a Hive activity, which runs a Hive query on an Azure HDInsight cluster, to transform or analyze your data. O Data Factory suporta três tipos de atividades: atividades de movimento de dados, atividades de transformação de dados e atividades de controlo.Data Factory supports three types of activities: data movement activities, data transformation activities, and control activities.

Conjuntos de dadosDatasets

Os conjuntos de dados representam estruturas de dados nos arquivos de dados, que simplesmente apontam ou referenciam os dados que pretende utilizar nas suas atividades como entrada ou saída.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.

Serviços ligadosLinked services

Os serviços ligados são muito semelhantes às cadeias de ligação, que definem as informações de ligação necessárias para que o Data Factory se possa ligar 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. Encare da seguinte forma: um serviço ligado define a ligação à origem de dados e um conjunto de dados representa a estrutura dos dados.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 exemplo, um serviço ligado do Armazenamento do Azure especifica a cadeia de ligação para ligar à conta do Armazenamento do Azure.For example, an Azure Storage-linked service specifies a connection string to connect to the Azure Storage account. Além disso, um conjunto de dados de blobs do Azure especifica o contentor de blobs e a pasta que contém os dados.Additionally, an Azure blob dataset specifies the blob container and the folder that contains the data.

Os serviços ligados são utilizados para duas finalidades no Data Factory:Linked services are used for two purposes in Data Factory:

  • Para representar um arquivo de dados, que inclua, entre outros, uma base de dados do SQL Server no local, uma base de dados Oracle, uma partilha de ficheiros ou uma conta de armazenamento de blobs do 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. Para obter uma lista dos arquivos de dados suportados, veja o artigo copy activity (Atividade de Cópia).For a list of supported data stores, see the copy activity article.

  • Para representar um recurso de computação que pode alojar a execução de uma atividade.To represent a compute resource that can host the execution of an activity. Por exemplo, a Atividade HDInsightHive é executada num cluster do HDInsight Hadoop.For example, the HDInsightHive activity runs on an HDInsight Hadoop cluster. Para obter uma lista das atividades de transformação e os ambientes de computação suportados, veja o artigo Transform data (Transformar dados).For a list of transformation activities and supported compute environments, see the transform data article.

AcionadoresTriggers

Os acionadores representam a unidade de processamento que determina quando é que uma execução de pipeline tem de arrancar.Triggers represent the unit of processing that determines when a pipeline execution needs to be kicked off. Existem diferentes tipos de acionadores para diferentes tipos de eventos.There are different types of triggers for different types of events.

Execuções de pipelinePipeline runs

As instâncias de pipeline são instâncias da execução dos pipelines.A pipeline run is an instance of the pipeline execution. Normalmente, as execuções de pipeline são instanciadas pela transmissão de argumentos aos parâmetros definidos nos pipelines.Pipeline runs are typically instantiated by passing the arguments to the parameters that are defined in pipelines. Os argumentos podem ser transmitidos manualmente ou na definição do acionador.The arguments can be passed manually or within the trigger definition.

ParâmetrosParameters

Os parâmetros são pares chave-valor de configuração só de leitura.Parameters are key-value pairs of read-only configuration.  Os parâmetros são definidos no pipeline.  Parameters are defined in the pipeline. Os argumentos para os parâmetros definidos são transmitidos durante a execução a partir do contexto da instância criado por um acionador ou por um pipeline executado manualmente.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. As atividades dentro do pipeline consomem os valores dos parâmetros.Activities within the pipeline consume the parameter values.

Os conjuntos de dados são parâmetros inflexíveis e uma entidade reutilizável/referenciável.A dataset is a strongly typed parameter and a reusable/referenceable entity. As atividades podem referenciar conjuntos de dados e podem consumir as propriedades definidas na definição do conjunto de dadosAn activity can reference datasets and can consume the properties that are defined in the dataset definition.

Os serviços ligados também são um parâmetro inflexível que contém as informações de ligação a um arquivo de dados ou a um ambiente de computação.A linked service is also a strongly typed parameter that contains the connection information to either a data store or a compute environment. Também é uma entidade reutilizável/referenciável.It is also a reusable/referenceable entity.

Fluxo de controloControl flow

O fluxo de controlo é uma orquestração das atividades dos pipelines que incluem o encadeamento de atividades numa sequência, a ramificação, a definição de parâmetros ao nível do pipeline e a transmissão de argumentos quando é invocado o pipeline a pedido ou a partir de um acionador.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. Também inclui a transmissão de estado personalizado e os contentores de ciclo, ou seja, iteradores For-each.It also includes custom-state passing and looping containers, that is, For-each iterators.

VariáveisVariables

As variáveis podem ser usadas dentro de pipelines para armazenar valores temporários e também podem ser usadas em conjunto com parâmetros para habilitar a passagem de valores entre pipelines, fluxos de dados e outras atividades.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.

Passos seguintesNext steps

Aqui estão os documentos importantes da próxima etapa a serem explorados:Here are important next step documents to explore: