Início Rápido: transformar dados usando o fluxo de dados de mapeamento
Neste guia de início rápido, você usará o Azure Synapse Analytics para criar um pipeline que transforma dados de uma fonte de Azure Data Lake Storage Gen2 (ADLS Gen2) em um coletor ADLS Gen2 usando o fluxo de dados de mapeamento. O padrão de configuração neste guia de início rápido pode ser expandido após a transformação de dados usando o fluxo de dados de mapeamento
Neste guia de início rápido, você realizará as seguintes ações:
- Criar um pipeline com uma atividade de Fluxo de Dados no Azure Synapse Analytics.
- Criar 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.
Workspace do Azure Synapse: crie um workspac do Azure Synapse usando o portal do Azure e seguindo as instruções no guia de Início Rápido: criar um workspace do Synapse.
Conta de armazenamento do Azure: use o armazenamento ADLS como armazenamento 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.
O arquivo que estamos transformando nesse tutorial é 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 se tratarão de um contêiner chamado 'sample-data'.
Navegar até o Synapse Studio
Após criar o workspace do Azure Synapse, você tem duas maneiras de abrir o Synapse Studio:
- Abra o workspace do Synapse no portal do Azure. Selecione Abrir no cartão Abrir o Synapse Studio em Introdução.
- Abra o Azure Synapse Analytics e entre no seu workspace.
Neste guia de início rápido, usamos o workspace chamado "adftest2020" como um exemplo. Você será direcionado automaticamente para a home page do Synapse Studio.
Criar um pipeline com uma atividade de Fluxo de Dados
Um pipeline contém o fluxo lógico para uma execução de um conjunto de atividades. Nesta etapa, você criará um pipeline que contém uma atividade de Fluxo de Dados.
Vá para a guia Integrar. Selecione o ícone de adição ao lado do cabeçalho de pipelines e selecione Pipeline.
Na página Configurações de Propriedades do pipeline, digite TransformMovies para o Nome.
Em Mover e Transformar no painel Atividades, arraste o fluxo de dados para a tela do pipeline.
No pop-up na página Adicionando fluxo de dados, selecione Criar fluxo de dados ->Fluxo de dados. Selecione OK quando tiver concluído.
Dê ao fluxo de dados o nome de TransformMovies na páginaPropriedades.
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. Nesta etapa, você criará um fluxo de dados que usa 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.
Acima da tela fluxo de dados, deslize o controle deslizante de depuração do 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.
Na tela fluxo de dados, adicione uma fonte clicando na caixa Adicionar Fonte.
Dê o nome de MoviesDB a sua fonte. Selecione Novo para criar um conjunto de dados de origem.
Escolha Azure Data Lake Storage Gen2. Selecione Continuar.
Escolha DelimitedText. Selecione Continuar.
Dê um nome MovieDB ao seu conjunto de dados. Na lista suspensa de serviço vinculado, escolha Novo.
Na tela de criação de serviço vinculado, dê o nome de ADLSGen2 ao seu serviço vinculado ADLS Gen2 e especifique o método de autenticação. Em seguida, insira suas credenciais de conexão. Neste guia de início rápido, estamos usando a chave de Conta para se conectar a nossa conta de armazenamento. Você pode selecionar Testar conexão para verificar se suas credenciais foram inseridas corretamente. Selecione Criar quando terminar.
Depois de voltar à tela de criação do conjunto de arquivos, insira onde o arquivo está localizado no campo Caminho do arquivo. Neste guia de início rápido, o arquivo moviesDB.csv está localizado no contêiner “sample-data”. Como o arquivo tem cabeçalhos, marque Primeira linha como cabeçalho. Selecione Do repositório/conexão para importar o esquema de cabeçalho diretamente do arquivo no armazenamento. Selecione OK quando tiver concluído.
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. Você pode usar a visualização de dados para verificar se a transformação está configurada corretamente.
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 você está adicionando é um Filtro.
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.
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 guia de início rápido, você deseja filtrar filmes do gênero comédia que foram lançados entre os anos 1910 e 2000. Como o ano atualmente é uma cadeia de caracteres, você precisa convertê-lo em um inteiro usando a
toInteger()
função. Utilize os operadores de maior ou igual a (>=) e de menor ou igual a (<=) para comparar os valores de anos literais 1910 e 200-. 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ãorlike
à comparação de anos para obter:toInteger(year) >= 1910 && toInteger(year) <= 2000 && rlike(genres, 'Comedy')
Se você tem um cluster de depuração ativo, é possível 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.
Selecione Salvar e concluir quando terminar sua expressão.
Busque Visualização de dados para verificar se o filtro está funcionando corretamente.
A próxima transformação que você adicionará é uma transformação de Agregação em Modificador de esquema.
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.
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.
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 eavg()
usa uma entrada numérica, devemos converter o valor em um número por meio datoInteger()
função. Essa expressão é semelhante a:avg(toInteger(Rating))
Selecione Salvar e concluir quando terminar.
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.
Em seguida, você deseja adicionar uma transformação de Coletor em Destino.
Dê ao seu coletor o nome Coletor. Selecione Novo para criar o conjunto de dados do coletor.
Escolha Azure Data Lake Storage Gen2. Selecione Continuar.
Escolha DelimitedText. Selecione Continuar.
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 7. Insira uma pasta de saída na qual os dados são gravados. Neste guia de início rápido, estamos gravando na pasta “saída”, no contêiner “sample-data”. A pasta não precisa existir com antecedência e pode ser criada de forma dinâmica. Defina Primeira linha como cabeçalho como verdadeiro e selecione Nenhum para o Esquema de importação. Selecione OK quando tiver concluído.
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 grava dados no destino do coletor.
Vá para a tela do pipeline. Clique em Depurar para disparar uma execução de depuração.
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. Depois que a execução obtiver êxito, selecione o ícone de óculos para abrir o painel de monitoramento.
No painel de monitoramento, você pode ver o número de linhas e o tempo gasto em cada etapa de transformação.
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.
Próximas etapas
Vá para os seguintes artigos para saber mais sobre o suporte do Azure Synapse Analytics: