Guia de decisão do Microsoft Fabric: atividade de cópia, fluxo de dados ou Spark
Utilize este guia de referência e os cenários de exemplo para ajudar você a decidir se precisa de uma atividade de Cópia, de um fluxo de dados ou do Spark para suas cargas de trabalho do Microsoft Fabric.
atividade Copy, fluxo de dados e propriedades do Spark
Pipeline com atividade de cópia | Fluxo de Dados Gen2 | Spark | |
---|---|---|---|
Caso de uso | Migração do data lake e do data warehouse, ingestão de dados, transformação leve |
Ingestão de dados, transformação de dados, estruturação de dados, criação de perfil de dados |
Ingestão de dados, transformação de dados, processamento de dados, criação de perfil de dados |
Persona do desenvolvedor principal | Engenheiro de dados, integrador de dados |
Engenheiro de dados, integrador de dados, analista de negócios |
Engenheiro de dados, cientista de dados, desenvolvedor de dados |
Conjunto de habilidades do desenvolvedor primário | ETL, SQL, JSON |
ETL, M, SQL |
Spark (Scala, Python, Spark SQL, R) |
Código escrito | Sem código, pouco código |
Sem código, pouco código |
Código |
Volume de dados | Baixo para alto | Baixo para alto | Baixo para alto |
Interface de desenvolvimento | Assistente, refinada |
Power query | Notebook, Definição de trabalho do Spark |
Fontes | Mais de 30 conectores | Mais de 150 conectores | Centenas de bibliotecas do Spark |
Destinos | Mais de 18 conectores | Lakehouse, Banco de Dados SQL do Azure, Azure Data explorer, Azure Synapse analytics |
Centenas de bibliotecas do Spark |
Complexidade da transformação | Baixa: leve - conversão de tipo, mapeamento de coluna, arquivos de mesclagem/divisão, hierarquia de nivelamento |
Baixo para alto: Mais de 300 funções de transformação |
Baixo para alto: suporte para bibliotecas nativas do Spark e de software livre |
Examine os três cenários a seguir para obter ajuda na escolha de como trabalhar com seus dados no Fabric.
Cenário1
Leo, um engenheiro de dados, precisa ingerir um grande volume de dados de sistemas externos, tanto no local quanto na nuvem. Esses sistemas externos incluem bancos de dados, sistemas de arquivos e APIs. Leo não deseja escrever e manter o código para cada conector ou operação de movimentação de dados. Ele quer seguir as melhores práticas das camadas de medalhão, com bronze, prata e ouro. Leo não tem nenhuma experiência com o Spark, então ele prefere arrastar e soltar a interface do usuário o máximo possível, com codificação mínima. E ele também quer processar os dados em um agendamento.
A primeira etapa é obter os dados brutos no lakehouse de camada de bronze dos recursos de dados do Azure e de várias fontes de terceiros (como Snowflake Web, REST, AWS S3, GCS etc.). Ele quer um lakehouse consolidado, para que todos os dados de várias fontes LOB, locais e de nuvem residam em um único lugar. Leo analisa as opções e seleciona a atividade de cópia de pipeline como a escolha apropriada para sua cópia binária bruta. Esse padrão se aplica à atualização de dados histórica e incremental. Com a atividade de cópia, o Leo poderá carregar dados Gold em um data warehouse sem código se a necessidade surgir e os pipelines fornecerem ingestão de dados de alta escala que pode mover dados de escala petabyte. atividade Copy é a melhor opção de código baixo e sem código para mover petabytes de dados para lakehouses e armazéns de variedades de fontes, seja ad-hoc ou por meio de um agendamento.
Cenário2
Mary é uma engenheira de dados com um profundo conhecimento dos vários requisitos de relatórios analíticos do LOB. Uma equipe de upstream implementou com êxito uma solução para migrar dados históricos e incrementais de vários LOB para um lakehouse comum. Mary foi encarregada de limpar os dados, aplicar lógicas de negócios e carregá-los em vários destinos (como SQL do Azure BD, ADX e um lakehouse) em preparação para suas respectivas equipes de relatório.
Mary é um usuário experiente de Power Query e o volume de dados está no intervalo de baixo a médio para obter o desempenho desejado. Os fluxos de dados fornecem interfaces sem código ou de baixo código para ingerir dados de centenas de fontes de dados. Com fluxos de dados, você pode transformar dados usando mais de 300 opções de transformação de dados e gravar os resultados em vários destinos com uma interface de usuário fácil de usar e altamente visual. Mary analisa as opções e decide que faz sentido usar o Dataflow Gen 2 como sua opção de transformação preferida.
Cenário3
Adam é um engenheiro de dados que trabalha para uma grande empresa de varejo que usa uma lakehouse para armazenar e analisar seus dados do cliente. Como parte de seu trabalho, Adam é responsável por criar e manter os pipelines de dados que extraem, transformam e carregam dados na lakehouse. Um dos requisitos de negócios da empresa é executar a análise de revisão do cliente para obter insights sobre as experiências de seus clientes e melhorar seus serviços.
Adam decide que a melhor opção é usar o Spark para criar a lógica de extração e transformação. O Spark fornece uma plataforma de computação distribuída que pode processar grandes quantidades de dados em paralelo. Ele escreve um aplicativo Spark usando Python ou Scala, que lê dados estruturados, semiestruturados e não estruturados do OneLake para comentários e análises do cliente. O aplicativo limpa, transforma e grava dados em tabelas Delta na lakehouse. Em seguida, os dados estão prontos para serem usados para análise downstream.