Partilhar via


Transformação de divisão condicional no mapeamento do fluxo de dados

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!

Os fluxos de dados estão disponíveis no Azure Data Factory e no Azure Synapse Pipelines. Este artigo aplica-se ao mapeamento de fluxos de dados. Se você é novo em transformações, consulte o artigo introdutório Transformar dados usando um fluxo de dados de mapeamento.

A transformação de divisão condicional roteia linhas de dados para fluxos diferentes com base em condições correspondentes. A transformação de divisão condicional é semelhante a uma estrutura de decisão CASE em uma linguagem de programação. A transformação avalia expressões e, com base nos resultados, direciona a linha de dados para o fluxo especificado.

Configuração

A configuração Dividir em determina se a linha de dados flui para o primeiro fluxo correspondente ou para cada fluxo ao qual ele corresponde.

Use o construtor de expressões de fluxo de dados para inserir uma expressão para a condição de divisão. Para adicionar uma nova condição, clique no ícone de adição em uma linha existente. Um fluxo padrão também pode ser adicionado para linhas que não correspondem a nenhuma condição.

Mostra a interface do usuário dividida condicional com seleções conforme descrito acima.

Script de fluxo de dados

Sintaxe

<incomingStream>
    split(
        <conditionalExpression1>
        <conditionalExpression2>
        ...
        disjoint: {true | false}
    ) ~> <splitTx>@(stream1, stream2, ..., <defaultStream>)

Exemplo

O exemplo abaixo é uma transformação de divisão condicional chamada SplitByYear que recebe fluxo CleanDatade entrada . Esta transformação tem duas condições year < 1960 divididas e year > 1980. disjoint é falso porque os dados vão para a primeira condição de correspondência em vez de todas as condições correspondentes. Cada linha correspondente à primeira condição vai para o fluxo moviesBefore1960de saída. Todas as linhas restantes correspondentes à segunda condição vão para o fluxo moviesAFter1980de saída. Todas as outras linhas fluem através do fluxo AllOtherMoviespadrão.

Na interface do usuário do serviço, essa transformação se parece com a imagem abaixo:

Mostra a interface do usuário dividida condicional com seleções conforme descrito acima.

O script de fluxo de dados para essa transformação está no trecho abaixo:

CleanData
    split(
        year < 1960,
	    year > 1980,
	    disjoint: false
    ) ~> SplitByYear@(moviesBefore1960, moviesAfter1980, AllOtherMovies)

As transformações de fluxo de dados comuns usadas com a divisão condicional são a transformação de junção, a transformação de pesquisa e a transformação de seleção