Partilhar via


Transformar dados com o fluxo de dados de mapeamento

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

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

Se não estiver familiarizado com o Azure Data Factory, veja Introdução ao Azure Data Factory.

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

Nota

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

Neste tutorial, vai executar os seguintes passos:

  • Criar uma fábrica de dados.
  • Crie um pipeline com uma atividade de Fluxo de Dados.
  • Crie um fluxo de dados de mapeamento com quatro transformações.
  • Testar a execução do pipeline.
  • Monitorar uma atividade de fluxo de dados

Pré-requisitos

  • Subscrição do Azure. Se não tiver uma subscrição do Azure, crie uma conta do Azure gratuita antes de começar.
  • Conta de armazenamento do Azure. Você usa o armazenamento ADLS como fonte e armazena dados de coletor. Se não tiver uma conta de armazenamento, veja Criar uma conta de armazenamento do Azure para seguir os passos para criar uma.

O arquivo que estamos transformando neste tutorial é MoviesDB.csv, que pode ser encontrado aqui. Para recuperar o arquivo do GitHub, copie o conteúdo para um editor de texto de sua escolha para salvar localmente como um arquivo .csv. Para carregar o ficheiro para a sua conta de armazenamento, consulte Carregar blobs com o portal do Azure. Os exemplos farão referência a um recipiente chamado 'sample-data'.

Criar uma fábrica de dados

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

  1. Abra o Microsoft Edge ou o Google Chrome. Atualmente, a interface do usuário do Data Factory é suportada apenas nos navegadores Microsoft Edge e Google Chrome.

  2. No menu à esquerda, selecione Criar um recurso>Integration>Data Factory:

    Seleção do Data Factory no

  3. Na página Nova fábrica de dados, em Nome, introduza ADFTutorialDataFactory.

    O nome do Azure Data Factory deve ser globalmente exclusivo. Se receber uma mensagem de erro relacionada com o valor do nome, introduza um nome diferente para a fábrica de dados. (por exemplo, seunomeADFTutorialDataFactory). Para obter as regras de nomenclatura dos artefactos do Data Factory, veja Regras de nomenclatura do Data Factory.

    Nova mensagem de erro de fábrica de dados para nome duplicado.

  4. Selecione a subscrição do Azure na qual quer criar a fábrica de dados.

  5. Em Grupo de Recursos, efetue um destes passos:

    a. Selecione Utilizar existente e selecione um grupo de recursos já existente na lista pendente.

    b. Selecione Criar novo e introduza o nome de um grupo de recursos.

    Para saber mais sobre grupos de recursos, veja Utilizar grupos de recursos para gerir os recursos do Azure.

  6. Em Versão, selecione V2.

  7. Em Localização, selecione uma localização para a fábrica de dados. Só aparecem na lista pendente as localizações que são suportadas. Os armazenamentos de dados (por exemplo, Armazenamento do Azure e Banco de Dados SQL) e os cálculos (por exemplo, Azure HDInsight) usados pelo data factory podem estar em outras regiões.

  8. Selecione Criar.

  9. Após a conclusão da criação, você verá o aviso na Central de notificações. Selecione Ir para o recurso para navegar até a página Data factory.

  10. Selecione Criar e Monitorizar para iniciar a IU do Data Factory num separador à parte.

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 home page do Azure Data Factory, selecione Orquestrar.

    Captura de tela que mostra a página inicial do ADF.

  2. Na guia Geral do pipeline, digite TransformMovies para Nome do pipeline.

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

    Captura de tela que mostra a tela do pipeline onde você pode soltar a atividade de Fluxo de Dados.

  4. No pop-up Adicionando fluxo de dados, selecione Criar novo fluxo de dados e nomeie seu fluxo de dados como TransformMovies. Clique em Concluir quando terminar.

    Captura de tela que mostra onde você nomeia seu fluxo de dados quando cria um novo fluxo de dados.

  5. Na barra superior da tela do pipeline, deslize o controle deslizante de depuração do Fluxo de Dados. O modo de depuração permite testes interativos da lógica de transformação em um cluster Spark ao vivo. Os clusters de Fluxo de Dados levam de 5 a 7 minutos para aquecer e os usuários são recomendados a ativar a depuração primeiro se planejarem fazer o desenvolvimento do Fluxo de Dados. Para obter mais informações, consulte Modo de depuração.

    Atividade de fluxo de dados

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

Depois de criar seu fluxo de dados, você será enviado automaticamente para a tela de fluxo de dados. Caso você não seja redirecionado para a tela de 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.

Captura de tela mostrando como abrir o editor de fluxo de dados a partir do editor de pipeline.

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

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

    Captura de tela que mostra a caixa Adicionar fonte.

  2. Nomeie sua fonte como MoviesDB. Clique em Novo para criar um novo conjunto de dados de origem.

    Captura de tela que mostra onde você seleciona Novo depois de nomear sua fonte.

  3. Escolha Azure Data Lake Storage Gen2. Clique em Continue (Continuar).

    Captura de tela que mostra onde está o bloco do Azure Data Lake Storage Gen2.

  4. Escolha DelimitedText. Clique em Continue (Continuar).

    Captura de ecrã que mostra o mosaico DelimitedText.

  5. Nomeie seu conjunto de dados como MoviesDB. Na lista suspensa do serviço vinculado, escolha Novo.

    Captura de tela que mostra a lista suspensa Serviço vinculado.

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

    Serviço Vinculado

  7. Quando estiver de volta à tela de criação do conjunto de dados, insira onde o arquivo está localizado no campo Caminho do arquivo. Neste tutorial, o moviesDB.csv de arquivo está localizado em dados de amostra de contêiner. Como o arquivo tem cabeçalhos, marque Primeira linha como cabeçalho. Selecione Da conexão/armazenamento para importar o esquema de cabeçalho diretamente do arquivo no armazenamento. Clique em OK quando terminar.

    Conjuntos de Dados

  8. Se o cluster de depuração tiver sido iniciado, vá para a guia Visualização de Dados da transformação de origem e clique em Atualizar para obter um instantâneo dos dados. Você pode usar a visualização de dados para verificar se sua transformação está configurada corretamente.

    Captura de tela que mostra onde você pode visualizar seus dados para verificar se sua transformação está configurada corretamente.

  9. Ao lado do nó de origem na tela de 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.

    Tela de fluxo de dados

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

    Captura de ecrã que mostra a caixa Filtrar na expressão.

  11. O construtor de expressões de fluxo de dados permite criar interativamente expressões para usar 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ê quer filtrar filmes de comédia de gênero que saíram 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 maior que ou igual a (>=) e menor ou igual a (<=) para comparar com os valores literais dos anos 1910 e 2000. Unifique estas expressões com o operador e (&&). A expressão surge como:

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

    Para descobrir quais filmes são comédias, você pode usar a função para encontrar o rlike() padrão 'Comédia' nos gêneros da coluna. Unifique a rlike expressão com a comparação do ano 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.

    Filtro

    Clique em Salvar e Concluir quando terminar a expressão.

  12. Obtenha uma Pré-visualização de Dados para verificar se o filtro está a funcionar corretamente.

    Captura de ecrã que mostra a Pré-visualização de Dados que obteve.

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

    Captura de tela que mostra o modificador de esquema Aggregate.

  14. Nomeie sua transformação agregada como AggregateComedyRatings. Na guia Agrupar por, selecione ano na lista suspensa para agrupar as agregações pelo ano em que o filme foi lançado.

    Captura de ecrã que mostra a opção de ano no separador Agrupar por, em Definições Agregadas.

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

    Captura de ecrã que mostra a opção de ano no separador Agregações em Definições de Agregação.

  16. Para obter a média da coluna Classificação, use a avg() função agregada. Como Rating é uma string e avg() recebe uma entrada numérica, devemos converter o valor em um número através da toInteger() função. Esta é a expressão se parece com:

    avg(toInteger(Rating))

    Clique em Salvar e Concluir quando terminar.

    Captura de ecrã que mostra a expressão guardada.

  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.

    Agregação

  18. Em seguida, você deseja adicionar uma transformação Sink em Destination.

    Captura de tela que mostra onde adicionar uma transformação de coletor em Destino.

  19. Nomeie sua pia como lavatório. Clique em Novo para criar o conjunto de dados do coletor.

    Captura de tela que mostra onde você pode nomear seu coletor e criar um novo conjunto de dados do coletor.

  20. Escolha Azure Data Lake Storage Gen2. Clique em Continue (Continuar).

    Captura de tela que mostra o bloco Azure Data Lake Storage Gen2 que você pode escolher.

  21. Escolha DelimitedText. Clique em Continue (Continuar).

    Conjunto de dados

  22. Nomeie seu conjunto de dados de coletor como MoviesSink. Para serviço vinculado, escolha o serviço vinculado ADLS gen2 que você criou na etapa 6. Insira uma pasta de saída para gravar seus dados. Neste tutorial, estamos escrevendo na pasta 'output' no contêiner 'sample-data'. A pasta não precisa existir de antemão e pode ser criada dinamicamente. Defina Primeira linha como cabeçalho como true e selecione Nenhum para Importar esquema. Clique em Concluir.

    Sink

Agora você terminou de criar seu fluxo de dados. Você está pronto para executá-lo em seu pipeline.

Executando e monitorando o fluxo de dados

Você pode depurar um pipeline antes de publicá-lo. Nesta etapa, você acionará 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.

    Captura de tela que mostra a tela do pipeline com Debug realçado.

  2. A depuração de pipeline de atividades de fluxo de dados usa o cluster de depuração ativo, mas ainda leva pelo menos um minuto para inicializar. Pode acompanhar o progresso através do separador Saída . Quando a execução for bem-sucedida, clique no ícone de ó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.

    Captura de tela que mostra o painel de monitoramento onde você pode ver o número de linhas e o tempo gasto em cada etapa de transformação.

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

    Monitorização

Se você seguiu este tutorial corretamente, você deve ter escrito 83 linhas e 2 colunas em sua pasta de 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 comédias de 1910 a 2000 e grava os dados no ADLS. Aprendeu a:

  • Criar uma fábrica de dados.
  • Crie um pipeline com uma atividade de Fluxo de Dados.
  • Crie um fluxo de dados de mapeamento com quatro transformações.
  • Testar a execução do pipeline.
  • Monitorar uma atividade de fluxo de dados

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