Transformar dados no Delta Lake 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.
Nesse tutorial, você usa a tela de fluxo de dados para criar fluxos de dados que permitem analisar e transformar dados no Azure Data Lake Storage (ADLS) Gen2 e armazená-los no Delta Lake.
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 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 fazem referência a um contêiner chamado “dados de amostra”.
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.
Abra o Microsoft Edge ou Google Chrome. Atualmente, a interface do usuário do Data Factory é compatível apenas com os navegadores da Web do Microsoft Edge e do Google Chrome.
No menu à esquerda, escolha Criar um recurso>Integração>Data Factory
Na página Novo data factory, em Nome, insira ADFTutorialDataFactory
Selecione a assinatura do Azure na qual deseja criar o data factory.
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.
Em Versão, selecione V2.
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.
Selecione Criar.
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.
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
Nessa etapa, você cria um pipeline que contém uma atividade de fluxo de dados.
Na página inicial, selecione Orquestrar.
Na guia Geral do pipeline, insira DeltaLake como o Nome do pipeline.
No painel Atividades, expanda o acordeão Mover e Transformar. Arraste e solte a atividade de Fluxo de Dados do painel para a tela do pipeline.
No pop-up Adicionar Fluxo de Dados, escolha Criar novo Fluxo de Dados e, em seguida, nomeie o fluxo de dados DeltaLake. Selecione Concluir quando tiver terminado.
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.
Criar lógica de transformação na tela de fluxo de dados
Você gera dois fluxos de dados nesse tutorial. O primeiro fluxo de dados é uma fonte simples de afundamento para gerar um novo Delta Lake a partir do arquivo CSV de filmes. Por último, você cria o design de fluxo a seguir para atualizar dados no Delta Lake.
Objetivos do tutorial
- Use a fonte do conjunto de dados MoviesCSV dos pré-requisitos e forme um novo Delta Lake a partir dele.
- Construa a lógica para classificações atualizadas de filmes de 1988 para “1”.
- Exclua todos os filmes de 1950.
- Insira novos filmes para 2021 duplicando os filmes de 1960.
Iniciar em uma tela de fluxo de dados em branco
Selecione a transformação de origem na parte superior da janela do editor de fluxo de dados e, em seguida, selecione + Novo ao lado da propriedade Conjunto de dados na janela Configurações de origem:
Selecione Azure Data Lake Storage Gen2 na janela Novo conjunto de dados que aparece e selecione Continuar.
Escolha DelimitedText para o tipo de conjunto de dados e selecione Continuar novamente.
Nomeie o conjunto de dados como “MoviesCSV” e selecione + Novo em Serviço vinculado para criar um novo serviço vinculado ao arquivo.
Forneça os detalhes da sua conta de armazenamento criada anteriormente na seção Pré-requisitos e navegue e selecione o arquivo MoviesCSV que você carregou lá.
Depois de adicionar o serviço vinculado, marque a caixa de seleção Primeira linha como cabeçalho e selecione OK para adicionar a origem.
Navegue até a guia Projeção da janela de configurações de fluxo de dados e selecione Detectar tipos de dados.
Agora selecione + após a Origem na janela do editor de fluxo de dados e role para baixo para selecionar Coletor na seção Destino, adicionando um novo coletor ao seu fluxo de dados.
Na guia Sink para as configurações do coletor que aparecem após a adição do coletor, selecione Inline para o Tipo de coletor e, em seguida, Delta para o Tipo de conjunto de dados Inline. Em seguida, selecione seu Azure Data Lake Storage Gen2 para o serviço Linked.
Escolha um nome de pasta em seu contêiner de armazenamento onde você gostaria que o serviço criasse o Delta Lake.
Por fim, navegue de volta ao designer de pipeline e selecione Debug para executar o pipeline no modo de depuração apenas com essa atividade de fluxo de dados na tela. Isso gera o seu novo Delta Lake no Azure Data Lake Storage Gen2.
Agora, no menu Recursos de fábrica à esquerda da tela, selecione + para adicionar um novo recurso e, em seguida, selecione Fluxo de dados.
Como anteriormente, selecione o arquivo MoviesCSV novamente como fonte e selecione Detectar tipos de dados novamente na guia Projeção.
Dessa vez, depois de criar a origem, selecione + na janela do editor de fluxo de dados e adicione uma transformação de Filtro à sua origem.
Adicione uma condição Filtro em na janela Configurações de filtro que permite apenas linhas de filmes correspondentes a 1950, 1960 e 1988.
Agora adicione uma transformação de coluna derivada para atualizar as classificações de cada filme de 1988 para “1”.
As políticas
Update, insert, delete, and upsert
são criadas na transformação Alterar linha. Adicione uma transformação alterar linha após a coluna derivada.As políticas de alteração de linha devem ter esta aparência.
Agora que você definiu a política adequada para cada tipo de alteração de linha, verifique se as regras de atualização adequadas foram definidas na transformação do coletor
Aqui estamos usando o coletor Delta Lake para o data lake do Azure Data Lake Storage Gen2 e permitindo inserções, atualizações e exclusões.
Observe que as colunas-chave são uma chave composta composto pela coluna de chave primária do filme e pela coluna do ano. Isso ocorre porque criamos filmes de 2021 fictícios duplicando as linhas de 1960. Isso evita conflitos ao pesquisar as linhas existentes fornecendo exclusividade.
Baixar o exemplo concluído
Aqui está um exemplo de solução para o pipeline Delta com um fluxo de dados para atualizar/excluir linhas no lago.
Conteúdo relacionado
Saiba mais sobre a linguagem de expressão do fluxo de dados.