Transformar dados usando fluxos de dados de mapeamento

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 desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!

Se estiver se familiarizando com o Azure Data Factory, confira Introdução ao Azure Data Factory.

Neste tutorial, você usará a interface do usuário do Azure Data Factory (UX) para criar um pipeline que copia e transforma dados de uma fonte de Gen2 de Azure Data Lake Storage (ADLS) para um coletor ADLS Gen2 usando o fluxo de dados de mapeamento. O padrão de configuração neste tutorial pode ser expandido após a transformação de dados usando o fluxo de dados de mapeamento

Observação

Este tutorial destina-se a mapear fluxos de dados em geral. Os fluxos de dados estão disponíveis nos pipelines Azure Data Factory e Synapse. Se você for novo em fluxos de dados em Pipelines do Azure Synapse, siga o Fluxo de Dados usando Pipelines Synapse do Azure

Neste tutorial, você executa as seguintes etapas:

  • Criar um data factory.
  • Criar um pipeline com uma atividade de Fluxo de Dados.
  • Crie um fluxo de dados de mapeamento com quatro transformações.
  • Executar teste do pipeline.
  • Monitore uma atividade Data Flow.

Pré-requisitos

  • Assinatura do Azure. Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.
  • Conta de Armazenamento do Azure. Você usa o armazenamento do ADLS como um armazenamento de dados de origem e do coletor. Se você não tiver uma conta de armazenamento, confira Criar uma conta de armazenamento do Azure a fim de conhecer as etapas para criar uma.

O arquivo que estamos transformando neste tutorial é o MoviesDB.csv, que pode ser encontrado aqui. Para acessar o arquivo no GitHub, copie o conteúdo para um editor de texto da sua escolha para salvá-lo localmente como um arquivo. csv. Para carregar o arquivo em sua conta de armazenamento, consulte carregar blobs com o portal do Azure. Os exemplos referenciarão um contêiner chamado “sample-data”.

Criar uma data factory

Nesta etapa, você cria um data factory e abre a UX do Data Factory para criar um pipeline no data factory.

  1. Abra o Microsoft Edge ou Google Chrome. Atualmente, a interface do usuário do Data Factory tem suporte apenas nos navegadores da Web Microsoft Edge e Google Chrome.

  2. No menu à esquerda, selecione Criar um recurso>Integração>Data Factory:

    Data Factory selection in the "New" pane

  3. Na página Novo data factory, em Nome, insira ADFTutorialDataFactory.

    O nome do Azure Data Factory deve ser globalmente exclusivo. Se você receber uma mensagem de erro sobre o valor do nome, insira um nome diferente para o data factory. (por exemplo, yournameADFTutorialDataFactory). Para ver as regras de nomenclatura para artefatos do Data Factory, confira Data Factory – Regras de nomenclatura.

    New data factory error message for duplicate name.

  4. Selecione a assinatura do Azure na qual deseja criar o data factory.

  5. Em Grupo de Recursos, use uma das seguintes etapas:

    a. Selecione Usar existentee selecione um grupo de recursos existente na lista suspensa.

    b. Selecione Criar novoe insira o nome de um grupo de recursos.

    Para saber mais sobre grupos de recursos, confira Usar grupos de recursos para gerenciar recursos do Azure.

  6. Em Versão, selecione V2.

  7. Em Local, informe uma localização para o data factory. Apenas os locais com suporte são exibidos na lista suspensa. Os armazenamentos de dados (por exemplo, Armazenamento do Microsoft Azure e Banco de Dados SQL) e os serviços de computação (por exemplo, Azure HDInsight) usados pelo data factory podem estar em outras regiões.

  8. Selecione Criar.

  9. Depois que a criação for concluída, você verá o aviso no centro de notificações. Selecione Ir para o recurso para navegar até a página do Data Factory.

  10. Clique em Criar e Monitorar para iniciar a IU do Azure Data Factory em uma guia separada.

Criar um pipeline com uma atividade de Fluxo de Dados

Nesta etapa, você criará um pipeline que contém uma atividade de fluxo de dados.

  1. Na página inicial do Azure Data Factory, selecione Orquestrar.

    Screenshot that shows the ADF home page.

  2. Na guia Geral do pipeline, insira "TransformMovies" para o Nome do pipeline.

  3. No painel Atividades, expanda o acorde Mover e Transformar. Arraste e solte a atividade de Fluxo de Dados do painel para a tela do pipeline.

    Screenshot that shows the pipeline canvas where you can drop the Data Flow activity.

  4. No pop-up Adicionar Fluxo de Dados, selecione Criar novo Fluxo de Dados e, em seguida, nomeie o fluxo de dados TransformMovies. Clique em Concluir quando tiver terminado.

    Screenshot that shows where you name your data flow when you create a new data flow.

  5. Na barra superior da tela do pipeline, deslize o controle deslizante Depurar Fluxo de Dados. O modo de depuração permite o teste interativo da lógica de transformação em um cluster do Spark ao vivo. Os clusters de Fluxo de Dados levam de 5 a 7 minutos para serem ativados e recomendamos que os usuários ativem a depuração primeiro, caso planejem realizar o desenvolvimento de Fluxo de Dados. Para saber mais, consulte Modo de depuração.

    Data Flow Activity

Criar lógica de transformação na tela do fluxo de dados

Depois de criar o Fluxo de Dados, você será enviado automaticamente para a tela fluxo de dados. Caso você não seja redirecionado para a tela do fluxo de dados, no painel abaixo da tela, vá para Configurações e selecione Abrir, localizado ao lado do campo de fluxo de dados. Isso abrirá a tela de fluxo de dados.

Screenshot showing how to open the data flow editor from the pipeline editor.

Nesta etapa, você criará um fluxo de dados que usa o moviesDB.csv no armazenamento ADLS e agrega a classificação média de Comedies de 1910 a 2000. Em seguida, você escreverá esse arquivo de volta para o armazenamento ADLS.

  1. Na tela fluxo de dados, adicione uma fonte clicando na caixa Adicionar Fonte.

    Screenshot that shows the Add Source box.

  2. Dê o nome de MoviesDB a sua fonte. Clique em Novo para criar uma nova fonte de conjunto de dados.

    Screenshot that shows where you select New after you name your source.

  3. Escolha Azure Data Lake Storage Gen2. Clique em Continuar.

    Screenshot that shows where is the Azure Data Lake Storage Gen2 tile.

  4. Escolha DelimitedText. Clique em Continuar.

    Screenshot that shows the DelimitedText tile.

  5. Dê um nome MovieDB ao seu conjunto de dados. Na lista suspensa de serviço vinculado, escolha Novo.

    Screenshot that shows the Linked service dropdown list.

  6. Na tela de criação de serviço vinculado, nomeie o serviço vinculado ADLS Gen2 ADLSGen2 e especifique o método de autenticação. Em seguida, insira suas credenciais de conexão. Neste tutorial, estamos usando a chave de conta para se conectar à nossa conta de armazenamento. Você pode clicar em testar conexão para verificar se suas credenciais foram inseridas corretamente. Clique em Criar quando terminar.

    Linked Service

  7. Depois de voltar à tela de criação do conjunto de arquivos, insira onde o arquivo está localizado no campo caminho do arquivo. Neste tutorial, o arquivo moviesDB.csv está localizado em contêiner de dados de exemplo. Como o arquivo tem cabeçalhos, marque a Primeira linha como cabeçalho. Selecione Do repositório/conexão para importar o esquema de cabeçalho diretamente do arquivo no armazenamento. Toque em OK quando terminar.

    Datasets

  8. Se o cluster de depuração for iniciado, vá para a guia Visualização de Dados da transformação fonte e clique em Atualizar para obter uma captura instantânea dos dados. Você pode usar a visualização de dados para verificar se a transformação está configurada corretamente.

    Screenshot that shows where you can preview your data to verify your transformation is configured correctly.

  9. Ao lado do seu nó de origem na tela fluxo de dados, clique no ícone de adição para adicionar uma nova transformação. A primeira transformação que você está adicionando é um Filtro.

    Data Flow Canvas

  10. Nomeie sua transformação de filtro FilterYears. Clique na caixa expressão ao lado de filtrar em para abrir o construtor de expressões. Aqui você especificará sua condição de filtragem.

    Screenshot that shows the Filter on expression box.

  11. O construtor de expressões de fluxo de dados permite criar expressões de forma interativa para uso em várias transformações. As expressões podem incluir funções internas, colunas do esquema de entrada e parâmetros definidos pelo usuário. Para obter mais informações sobre como criar expressões, consulte Construtor de expressões de Fluxo de Dados.

    Neste tutorial, você deseja filtrar filmes de gênero comédia que se passaram entre os anos 1910 e 2000. Como ano, atualmente é uma cadeia de caracteres, você precisa convertê-lo em um inteiro usando a toInteger() função. Use os operadores superior ou igual a (>=) e inferior ou igual a (<=) para comparar com os valores de ano literais 1910 e 2000. Una essas expressões com o operador e (&&). A expressão é exibida como:

    toInteger(year) >= 1910 && toInteger(year) <= 2000

    Para descobrir quais filmes são comedies, você pode usar a rlike() função para localizar o padrão ' Comédia ' nos gêneros de coluna. Una a expressão rlike à comparação de anos para obter:

    toInteger(year) >= 1910 && toInteger(year) <= 2000 && rlike(genres, 'Comedy')

    Se você tiver um cluster de depuração ativo, poderá verificar sua lógica clicando em Atualizar para ver a saída da expressão em comparação com as entradas usadas. Há mais de uma resposta certa sobre como você pode realizar essa lógica usando a linguagem de expressão de fluxo de dados.

    Filter

    Clique em Salvar e concluir quando terminar sua expressão.

  12. Busque Visualização de dados para verificar se o filtro está funcionando corretamente.

    Screenshot that shows the Data Preview that you fetched.

  13. A próxima transformação que você adicionará é uma transformação de Agregação em Modificador de esquema.

    Screenshot that shows the Aggregate schema modifier.

  14. Dê o nome "AggregateComedyRating" a sua transformação de agregação. Na guia Agrupar por, selecione ano na lista suspensa para agrupar as agregações pelo ano em que o filme foi lançado.

    Screenshot that shows the year option in the Group by tab under Aggregate Settings.

  15. Vá para a guia Agregações. Na caixa de texto à esquerda, nomeie a coluna de agregação AverageComedyRating. Clique na caixa de expressão à direita para inserir a expressão de agregação por meio do construtor de expressões.

    Screenshot that shows the year option in the Aggregates tab under Aggregate Settings.

  16. Para obter a média de classificaçãode coluna, use a avg() função de agregação. Como a Classificação é uma cadeia de caracteres e avg() usa uma entrada numérica, devemos converter o valor em um número por meio da toInteger() função. Essa expressão é semelhante a:

    avg(toInteger(Rating))

    Clique em Salvar e concluir quando terminar.

    Screenshot that shows the saved expression.

  17. Vá para a guia Visualização de dados para exibir a saída da transformação. Observe que apenas duas colunas estão lá, ano e AverageComedyRating.

    Aggregate

  18. Em seguida, você deseja adicionar uma transformação de Coletor em Destino.

    Screenshot that shows where to add a sink transformation under Destination.

  19. Dê ao seu coletor o nome Coletor. Clique em Novo para criar um novo conjunto de dados do coletor.

    Screenshot that shows where you can name your sink and create a new sink dataset.

  20. Escolha Azure Data Lake Storage Gen2. Clique em Continuar.

    Screenshot that shows the Azure Data Lake Storage Gen2 tile you can choose.

  21. Escolha DelimitedText. Clique em Continuar.

    Dataset

  22. Dê o nome MoviesSinkao seu conjunto de dados do coletor. Para o serviço vinculado, escolha o serviço vinculado ADLS gn2 que você criou na etapa 6. Insira uma pasta de saída na qual os dados são gravados. Neste tutorial, estamos gravando na pasta 'saída ' no contêiner 'dados de amostra'. A pasta não precisa existir com antecedência e pode ser criada dinamicamente. Defina a Primeira linha como o cabeçalho como verdadeiro e selecione Nenhum para o esquema de importação. Clique em Concluir.

    Sink

Agora você concluiu a criação do fluxo de dados. Você está pronto para executá-lo em seu pipeline.

Execução e Monitoramento do Fluxo de Dados

Você pode depurar um pipeline antes de publicá-lo. Nesta etapa, você vai disparar uma execução de depuração do pipeline de fluxo de dados. Embora a visualização de dados não grave dados, uma execução de depuração gravará dados no destino do coletor.

  1. Vá para a tela do pipeline. Clique em Depurar para disparar uma execução de depuração.

    Screenshot that shows the pipeline canvas with Debug highlighted.

  2. A depuração de pipeline de atividades de Fluxo de Dados usa o cluster de depuração ativo, mas ainda levará pelo menos um minuto para ser inicializado. Você pode acompanhar o progresso por meio da guia Saída. Quando a execução for bem-sucedida, clique no ícone óculos para abrir o painel de monitoramento.

    Pipeline

  3. No painel de monitoramento, você pode ver o número de linhas e o tempo gasto em cada etapa de transformação.

    Screenshot that shows the monitoring pane where you can see the number of rows and time spent in each transformation step.

  4. Clique em uma transformação para obter informações detalhadas sobre as colunas e o particionamento dos dados.

    Monitoring

Se você seguiu este tutorial corretamente, deve ter escrito 83 linhas e 2 colunas na pasta do coletor. Você pode verificar se os dados estão corretos verificando seu armazenamento de blob.

O pipeline neste tutorial executa um fluxo de dados que agrega a classificação média de comedies de 1910 a 2000 e grava os dados em ADLS. Você aprendeu a:

  • Criar um data factory.
  • Criar um pipeline com uma atividade de Fluxo de Dados.
  • Crie um fluxo de dados de mapeamento com quatro transformações.
  • Executar teste do pipeline.
  • Monitore uma atividade Data Flow.

Saiba mais sobre a linguagem de expressão do fluxo de dados.