Usando fluxos de dados em pipelines
Ao criar pipelines complexos com vários fluxos de dados, seu fluxo lógico pode ter um grande impacto no tempo e no custo. Esta seção aborda o impacto de diferentes estratégias de arquitetura.
Executando fluxos de dados em paralelo
Se você executar vários fluxos de dados em paralelo, o serviço girará clusters Spark separados para cada atividade. Isso permite que cada trabalho seja isolado e executado em paralelo, mas levará a vários clusters em execução ao mesmo tempo.
Se seus fluxos de dados forem executados em paralelo, recomendamos que você não habilite o tempo de IR do Azure para a propriedade ativa, pois isso leva a vários pools quentes não utilizados.
Gorjeta
Em vez de executar o mesmo fluxo de dados várias vezes em um para cada atividade, prepare seus dados em um data lake e use caminhos curinga para processar os dados em um único fluxo de dados.
Executar fluxos de dados sequencialmente
Se você executar suas atividades de fluxo de dados em sequência, é recomendável definir um TTL na configuração de IR do Azure. O serviço reutiliza os recursos de computação, resultando em um tempo de inicialização do cluster mais rápido. Cada atividade ainda é isolada e recebe um novo contexto Spark para cada execução.
Sobrecarregando um único fluxo de dados
Se você colocar toda a sua lógica dentro de um único fluxo de dados, o serviço executará todo o trabalho em uma única instância do Spark. Embora isso possa parecer uma maneira de reduzir custos, ele mistura diferentes fluxos lógicos e pode ser difícil de monitorar e depurar. Se um componente falhar, todas as outras partes do trabalho também falharão. Recomenda-se organizar fluxos de dados por fluxos independentes de lógica de negócios. Se o fluxo de dados se tornar muito grande, dividi-lo em componentes separados facilita o monitoramento e a depuração. Embora não haja um limite rígido para o número de transformações em um fluxo de dados, ter muitas torna o trabalho complexo.
Execute coletores em paralelo
O comportamento padrão dos coletores de fluxo de dados é executar cada coletor sequencialmente, de maneira serial, e falhar o fluxo de dados quando um erro for encontrado no coletor. Além disso, todos os coletores são padronizados para o mesmo grupo, a menos que você entre nas propriedades do fluxo de dados e defina prioridades diferentes para os coletores.
Os fluxos de dados permitem agrupar coletores em grupos a partir da guia de propriedades do fluxo de dados no designer da interface do usuário. Você pode definir a ordem de execução de seus coletores e agrupá-los usando o mesmo número de grupo. Para ajudar a gerenciar grupos, você pode pedir ao serviço para executar coletores no mesmo grupo, para executar em paralelo.
No pipeline, executar a atividade de fluxo de dados na seção "Propriedades do coletor" é uma opção para ativar o carregamento paralelo do coletor. Ao habilitar "executar em paralelo", você está instruindo fluxos de dados gravando em coletores conectados ao mesmo tempo, em vez de de maneira sequencial. Para utilizar a opção paralela, os coletores devem ser agrupados e conectados ao mesmo fluxo por meio de uma nova ramificação ou divisão condicional.
Acessar modelos de banco de dados do Azure Synapse em pipelines
Você pode usar um modelo de banco de dados do Azure Synapse ao criar um pipeline. Ao criar um novo fluxo de dados, nas configurações de origem ou coletor, selecione Workspace DB. A lista suspensa do banco de dados lista os bancos de dados criados por meio do modelo de banco de dados. A opção Workspace DB só está disponível para novos fluxos de dados, não está disponível quando você usa um pipeline existente da galeria de estúdios Synapse.
Conteúdos relacionados
- Visão geral do desempenho do fluxo de dados
- Otimizar origens
- Otimizar os sinks
- Otimizar as transformações
Veja outros artigos do Data Flow relacionados ao desempenho: