O que é o Azure Data Factory?

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Dica

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde o movimento de dados à ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova versão de avaliação gratuitamente!

No mundo dos macrodados, muitas vezes, são armazenados dados desorganizados e não processados em sistemas relacionais, não relacionais, entre outros. 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.

Os macrodados necessitam de um serviço que possa orquestrar e operacionalizar processos para refinar estes enormes arquivos de dados não processados em informações empresariais acionáveis. 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.

Cenários de utilização

Por exemplo, imagine uma empresa de jogos que recolhe petabytes de registos de jogos que são produzidos por jogos na cloud. A empresa pretende analisar esses registos para obter informações sobre as preferências do cliente, os dados demográficos e o comportamento de utilização. 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.

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. 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.

Para extrair informações, espera processar os dados associados através de um cluster do Spark na cloud (Azure HDInsight) e publicar os dados transformados num armazém de dados na cloud, como o Azure Synapse Analytics, para criar facilmente um relatório sobre os mesmos. Pretende automatizar este fluxo de trabalho e monitorizá-lo e geri-lo diariamente. Pretende também executá-lo quando os ficheiros estiverem num contentor de arquivo de blobs.

O Azure Data Factory é a plataforma que resolve estes cenários de dados. É o serviço de integração de dados e ETL baseado na cloud que lhe permite criar fluxos de trabalho orientados por dados para orquestrar o movimento de dados e transformar dados em escala. Ao utilizar o Azure Data Factory, pode criar e agendar fluxos de trabalho condicionados por dados (denominados pipelines) que podem ingerir dados a partir de arquivos de dados diferentes. Pode criar processos ETL complexos que transformam dados visualmente com fluxos de dados ou através de serviços de computação como o Azure HDInsight Hadoop, o Azure Databricks e a Base de Dados SQL do Azure.

Além disso, pode publicar os seus dados transformados em arquivos de dados, como Azure Synapse Aplicações do Analytics para business intelligence (BI) a consumir. 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.

Como funciona?

O Data Factory contém uma série de sistemas interligados que fornecem uma plataforma ponto a ponto completa para engenheiros de dados.

Mostra um diagrama de arquitetura de nível superior de Azure Data Factory.

Este guia visual fornece uma descrição geral detalhada da arquitetura completa do Data Factory:

Um guia visual detalhado para a arquitetura completa do sistema para Azure Data Factory, apresentado numa única imagem de alta resolução.

Para ver mais detalhes, selecione a imagem anterior para ampliar ou navegue para a imagem de alta resolução.

Ligar e recolher

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.

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. O passo seguinte é mover os dados conforme necessário para uma localização centralizada, para processamento subsequente.

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. Integrar e manter estes sistemas é dispendioso e difícil. 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.

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. Por exemplo, pode recolher dados no Azure Data Lake Storage e transformar os dados mais tarde com um serviço de computação do Azure Data Lake Analytics. Também pode recolher dados no armazenamento de blobs do Azure e transformá-los mais tarde com um cluster do Azure HDInsight Hadoop.

Transformar e enriquecer

Depois de os dados estiverem presentes num arquivo de dados centralizado na cloud, processe ou transforme os dados recolhidos através dos fluxos de dados de mapeamento do ADF. 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 precisarem de compreender os clusters do Spark ou a programação do Spark.

Se preferir codificar transformações manualmente, o ADF suporta atividades externas para executar as suas transformações em serviços de computação como o HDInsight Hadoop, Spark, Data Lake Analytics e Machine Learning.

CI/CD e publicar

O Data Factory oferece suporte total para CI/CD dos seus pipelines de dados com o Azure DevOps e o GitHub. Isto permite-lhe desenvolver e entregar os seus processos ETL de forma incremental antes de publicar o produto concluído. Depois de os dados não processados terem sido refinados para um formulário consumível pronto para a empresa, carregue os dados para o Azure Data Warehouse, SQL do Azure Database, Azure Cosmos DB ou qualquer motor de análise para o qual os seus utilizadores empresariais possam apontar a partir das respetivas ferramentas de business intelligence.

Monitor

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. Azure Data Factory tem suporte incorporado para monitorização de pipelines através do Azure Monitor, API, PowerShell, registos do Azure Monitor e painéis de estado de funcionamento no portal do Azure.

Principais conceitos

As subscrições do Azure podem ter uma ou várias instâncias do Azure Data Factory (ou fábricas de dados). Azure Data Factory é composta pelos seguintes componentes principais:

  • Pipelines
  • Atividades
  • Conjuntos de dados
  • Serviços ligados
  • Fluxos de Dados
  • Integration Runtimes

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.

Pipeline

Uma fábrica de dados pode ter um ou mais pipelines. Um pipeline é um agrupamento lógico de atividades que executa uma unidade de trabalho. Em conjunto, as atividades num pipeline executam uma tarefa. 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.

A vantagem neste caso é que o pipeline lhe permite gerir as atividades como um conjunto, em vez de individualmente. As atividades num pipeline podem ser encadeadas para funcionar sequencialmente ou podem funcionar de forma independente em paralelo

Fluxos de dados de mapeamento

Crie e faça a gestão de gráficos da lógica de transformação de dados que pode utilizar para transformar dados em tamanho real. Pode criar uma biblioteca reutilizável de rotinas de transformação de dados e executar esses processos de forma horizontal a partir dos pipelines do ADF. O Data Factory irá executar a sua lógica num cluster do Spark que gira para cima e gira para baixo quando precisar. Nunca terá de gerir ou manter clusters.

Atividade

As atividades representam uma fase de processamento num pipeline. Por exemplo, pode utilizar uma atividade de cópia para copiar dados de um arquivo de dados para outro. 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. O Data Factory suporta três tipos de atividades: atividades de movimento de dados, atividades de transformação de dados e atividades de controlo.

Conjuntos de dados

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.

Serviços ligados

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. 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. Por exemplo, um serviço ligado do Armazenamento do Azure especifica a cadeia de ligação para ligar à conta do Armazenamento do Azure. Além disso, um conjunto de dados de blobs do Azure especifica o contentor de blobs e a pasta que contém os dados.

Os serviços ligados são utilizados para duas finalidades no Data Factory:

  • Para representar um arquivo de dados que inclua, mas não se limita a, uma base de dados SQL Server, uma base de dados Oracle, uma partilha de ficheiros ou uma conta de armazenamento de blobs do Azure. Para obter uma lista dos arquivos de dados suportados, veja o artigo copy activity (Atividade de Cópia).

  • Para representar um recurso de computação que pode alojar a execução de uma atividade. Por exemplo, a Atividade HDInsightHive é executada num cluster do HDInsight Hadoop. Para obter uma lista das atividades de transformação e os ambientes de computação suportados, veja o artigo Transform data (Transformar dados).

Runtime de Integração

No Data Factory, as atividades definem as ações que vão ser realizadas. Os serviços ligados definem um arquivo de dados ou um serviço de computação de destino. Os runtimes de integração estabelecem a ponte entre a atividade e os serviços ligados. É referenciada pelo serviço ou atividade ligada e fornece o ambiente de computação no qual a atividade é executada ou é despachada. Desta forma, a atividade pode ser realizada na região mais perto possível do arquivo de dados ou do serviço de computação de destino com o melhor desempenho possível, satisfazendo as necessidades de segurança e conformidade.

Acionadores

Os acionadores representam a unidade de processamento que determina quando é que uma execução de pipeline tem de arrancar. Existem diferentes tipos de acionadores para diferentes tipos de eventos.

Execuções de pipeline

As instâncias de pipeline são instâncias da execução dos pipelines. Normalmente, as execuções de pipeline são instanciadas pela transmissão de argumentos aos parâmetros definidos nos pipelines. Os argumentos podem ser transmitidos manualmente ou na definição do acionador.

Parâmetros

Os parâmetros são pares chave-valor de configuração só de leitura.  Os parâmetros são definidos no 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. As atividades dentro do pipeline consomem os valores dos parâmetros.

Os conjuntos de dados são parâmetros inflexíveis e uma entidade reutilizável/referenciável. As atividades podem referenciar conjuntos de dados e podem consumir as propriedades definidas na definição do conjunto de dados

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. Também é uma entidade reutilizável/referenciável.

Fluxo de controlo

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. Também inclui a transmissão de estado personalizado e os contentores de ciclo, ou seja, iteradores For-each.

Variáveis

As variáveis podem ser utilizadas dentro de pipelines para armazenar valores temporários e também podem ser utilizadas em conjunto com parâmetros para permitir a transmissão de valores entre pipelines, fluxos de dados e outras atividades.

Passos seguintes

Seguem-se documentos importantes do próximo passo para explorar: