Transformar dados com segurança usando o fluxo de dados de mapeamento

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

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

Neste tutorial, será usada a interface do usuário do Data Factory para criar um pipeline que copia e transforma dados de uma fonte do Azure Data Lake Storage Gen2 para um coletor do Data Lake Storage Gen2 (permitindo o acesso somente a redes selecionadas) usando o fluxo de dados de mapeamento na Rede virtual gerenciada do Data Factory. É possível expandir o padrão de configuração neste tutorial ao transformar dados usando o fluxo de dados de mapeamento.

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.
  • Monitorar uma atividade de fluxo de dados.

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. Use o Data Lake Store como armazenamentos de dados de origem e de 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. Verifique se a conta de armazenamento permite acesso somente de redes selecionadas.

O arquivo que será transformado neste tutorial é o moviesDB.csv, que pode ser encontrado neste site de conteúdo do GitHub. 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 arquivo em sua conta de armazenamento, consulte carregar blobs com o portal do Azure. Os exemplos farão referência a um contêiner chamado sample-data.

Criar uma data factory

Nesta etapa, crie um data factory e inicie a interface do usuário do Data Factory para criar um pipeline no data factory.

  1. Abra o Microsoft Edge ou Google Chrome. Atualmente apenas os navegadores da Web Microsoft Edge e Google Chrome são compatíveis com a interface do usuário do Data Factory.

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

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

    O nome do 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.

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

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

    • Selecione Usar existentee selecione um grupo de recursos existente na lista suspensa.
    • 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 aparecem na lista suspensa. Os armazenamentos de dados (por exemplo, Armazenamento do Azure e Banco de Dados SQL do Azure) 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 ir até a página do Data Factory.

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

Criar um Azure IR na Rede Virtual Gerenciada do Data Factory

Nesta etapa, crie um Azure Integration Runtime e habilite a Rede Virtual Gerenciada do Data Factory.

  1. No portal do Data Factory, acesse Gerenciar e selecione Novo para criar um Azure IR.

    Screenshot that shows creating a new Azure IR.

  2. Na página Instalação do runtime de integração, escolha o runtime de integração a ser criado com base nas funcionalidades necessárias. Neste tutorial, selecione Azure, Auto-hospedado e clique em Continuar.

  3. Selecione Azure e clique em Continuar para criar um Azure Integration Runtime.

    Screenshot that shows a new Azure IR.

  4. Em Configuração de rede virtual (versão prévia) , selecione Habilitar.

    Screenshot that shows enabling a new Azure IR.

  5. Selecione Criar.

Criar um pipeline com uma atividade de fluxo de dados

Nesta etapa, será criado 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 creating a pipeline.

  2. No painel de propriedades do pipeline, insira TransformMovies como o nome do pipeline.

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

  4. No pop-up Adicionar fluxo de dados, selecione Criar novo fluxo de dados e, em seguida, selecioneFluxo de Dados de mapeamento. Quando tiver terminado, selecione OK.

    Screenshot that shows Mapping Data Flow.

  5. Dê ao fluxo de dados o nome de TransformMovies no painel Propriedades.

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

    Screenshot that shows the Data flow debug slider.

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

Depois de criar o fluxo de dados, você será enviado automaticamente para a tela fluxo de dados. Nesta etapa, será criado um fluxo de dados que usa o arquivo moviesDB.csv no Data Lake Store e agrega a classificação média de Comedies de 1910 a 2000. Em seguida, grave esse arquivo de volta ao Data Lake Store.

Adicionar a transformação de origem

Nesta etapa, configure o Data Lake Storage Gen2 como uma origem.

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

  2. Nomeie sua fonte MoviesDB. Selecione Novo para criar um conjunto de dados de origem.

  3. Selecione Azure Data Lake Storage Gen2e, em seguida, selecione Continuar.

  4. Selecione DelimitedText e clique em Continuar.

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

  6. Na tela de criação de serviço vinculado, dê ao serviço vinculado Data Lake Storage Gen2 o nome de 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 nos conectar à nossa conta de armazenamento.

  7. Habilite a Criação interativa. Pode levar um minuto para habilitar essa opção.

    Screenshot that shows Interactive authoring.

  8. Selecione Testar conexão. Ela deve falhar porque a conta de armazenamento não habilita o acesso a ela sem a criação e a aprovação de um ponto de extremidade privado. Na mensagem de erro, você verá um link para criar um ponto de extremidade privado que poderá seguir para criar um ponto de extremidade privado gerenciado. Uma alternativa é acessar diretamente a guia Gerenciar e seguir as instruções desta seção para criar um ponto de extremidade privado gerenciado.

  9. Mantenha a caixa de diálogo aberta e acesse sua conta de armazenamento.

  10. Siga as instruções desta seção para aprovar o link privado.

  11. Volte à caixa de diálogo. Selecione novamente Testar conectividade e selecione Criar para implantar o serviço vinculado.

  12. Na tela de criação do conjunto de dados, insira onde o arquivo está localizado no campo Caminho do arquivo. Neste tutorial, o arquivo moviesDB.csv está localizado no contêiner sample-data. Como o arquivo tem cabeçalhos, marque a caixa de seleção Primeira linha como cabeçalho. Selecione Do repositório/conexão para importar o esquema de cabeçalho diretamente do arquivo no armazenamento. Quando tiver terminado, selecione OK.

    Screenshot that shows the source path.

  13. Se o cluster de depuração for iniciado, vá para a guia Visualização de Dados da transformação de origem e selecione Atualizar para obter um instantâneo dos dados. É possível usar a visualização de dados para verificar se a transformação está configurada corretamente.

    Screenshot that shows the Data Preview tab.

Criar um ponto de extremidade privado gerenciado

Se não usou o hiperlink quando testou a conexão anterior, siga o caminho. Agora você precisará criar um ponto de extremidade privado gerenciado que será conectado ao serviço vinculado que você criou.

  1. Acesse a guia Gerenciar.

    Observação

    É possível que a guia Gerenciar não fique disponível para todas as instâncias do Data Factory. Se você não a vir, acesse os pontos de extremidade privados selecionando Criação>Conexões>Ponto de Extremidade Privado.

  2. Acesse a seção Pontos de extremidade privados gerenciados.

  3. Selecione + Novo em Pontos de extremidade privados gerenciados.

    Screenshot that shows the Managed private endpoints New button.

  4. Selecione o bloco do Azure Data Lake Storage Gen2 na lista e clique em Continuar.

  5. Insira o nome da conta de armazenamento criada.

  6. Selecione Criar.

  7. Depois de alguns segundos, você verá que o link privado criado precisa de uma aprovação.

  8. Selecione o ponto de extremidade privado que você criou. Você verá um hiperlink que vai levar você à aprovação do ponto de extremidade privado no nível da conta de armazenamento.

    Screenshot that shows the Manage private endpoint pane.

  1. Na conta de armazenamento, acesse Conexões do ponto de extremidade privado na seção Configurações.

  2. Marque a caixa de seleção do ponto de extremidade privado criada e selecione Aprovar.

    Screenshot that shows the private endpoint Approve button.

  3. Adicione uma descrição e selecione sim.

  4. Volte à seção Pontos de extremidade privados gerenciados da guia Gerenciar no Data Factory.

  5. Após cerca de um minuto, a aprovação deverá ser exibida para o ponto de extremidade privado.

Adicionar a transformação de filtro

  1. Ao lado do nó de origem na tela fluxo de dados, selecione o ícone de adição para adicionar uma nova transformação. A primeira transformação que será adicionada é um Filtro.

    Screenshot that shows adding a filter.

  2. Nomeie sua transformação de filtro FilterYears. Selecione a caixa expressão ao lado de Filtrar por para abrir o construtor de expressões. Aqui você especificará sua condição de filtragem.

    Screenshot that shows FilterYears.

  3. 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, se deseja filtrar filmes do gênero comédia lançados entre os anos 1910 e 2000. Como ano, atualmente é uma cadeia de caracteres, será necessário convertê-lo em um inteiro usando a função toInteger(). Utilize os operadores maior que ou igual a (>=) e menor que ou igual a (<=) para comparar os valores de anos literais entre 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, é possível usar a função rlike() para localizar o padrão 'Comédia' na coluna de gêneros. Una a expressão rlike à comparação do ano para obter:

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

    • Caso tenha um cluster de depuração ativo, é possível verificar a lógica selecionando Atualizar para ver a saída da expressão em comparação com as entradas usadas. Há mais de uma resposta certa sobre como realizar essa lógica usando a linguagem de expressão de fluxo de dados.

      Screenshot that shows the filter expression.

    • Selecione Salvar e concluir depois de concluir a expressão.

  4. Busque uma Visualização de Dados para verificar se o filtro está funcionando corretamente.

    Screenshot that shows the filtered Data Preview.

Adicionar a transformação de agregação

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

    Screenshot that shows adding the aggregate.

  2. Dê à transformação de agregação o nome de AggregateComedyRating. 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 aggregate group.

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

    Screenshot that shows the aggregate column name.

  4. 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 função toInteger(). Essa expressão é semelhante a:

    avg(toInteger(Rating))

  5. Selecione Salvar e concluir depois que terminar.

    Screenshot that shows saving the aggregate.

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

Adicionar a transformação de coletor

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

    Screenshot that shows adding a sink.

  2. Dê ao seu coletor o nome Coletor. Selecione Novo para criar o conjunto de dados do coletor.

    Screenshot that shows creating a sink.

  3. Na página Novo Conjunto de Dados, selecione Azure Data Lake Storage Gen2 e, em seguida, selecione Continuar.

  4. Na página Selecionar formato, selecione DelimitedText e, em seguida, selecione Continuar.

  5. Dê ao seu coletor o nome MoviesSink. Para o serviço vinculado, escolha o mesmo serviço vinculado do ADLSGen2 criado para a transformação de origem. Insira uma pasta de saída na qual os dados são gravados. Neste tutorial, gravamos na pasta saída no contêiner sample-data. A pasta não precisa existir com antecedência e pode ser criada dinamicamente. Selecione a caixa de seleção Primeira linha como cabeçalho e selecione Nenhum para Importar o esquema. Selecione OK.

    Screenshot that shows the sink path.

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

Executar e monitorar o fluxo de dados

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

  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 ser inicializado. É possível acompanhar o progresso por meio da guia Saída. Depois que a execução for bem-sucedida, selecione o ícone de óculos para obter detalhes de execução.

  3. Na página de detalhes, é possível ver o número de linhas e o tempo gasto em cada etapa da transformação.

    Screenshot that shows a monitoring run.

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

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.

Resumo

Neste tutorial, será usada a interface do usuário do Data Factory para criar um pipeline que copia e transforma dados de uma fonte do Azure Data Lake Storage Gen2 para um coletor do Data Lake Storage Gen2 (permitindo o acesso somente a redes selecionadas) usando o fluxo de dados de mapeamento na Rede Virtual Gerenciada do Data Factory.