Transformação de coluna derivada no mapeamento do fluxo de dados

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Data Factory em Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA incorporada e novas funcionalidades. Se és novo na integração de dados, começa pelo Fabric Data Factory. As cargas de trabalho existentes do ADF podem atualizar para o Fabric para aceder a novas capacidades em ciência de dados, análise em tempo real e relatórios.

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

Gorjeta

Para a transformação equivalente (coluna Personalizada) no Dataflow Gen2, consulte Um guia para Dataflow Gen2 para mapear utilizadores de fluxo de dados.

Use a transformação de coluna derivada para gerar novas colunas em seu fluxo de dados ou para modificar campos existentes.

Criar e atualizar colunas

Ao criar uma coluna derivada, você pode gerar uma nova coluna ou atualizar uma existente. Na caixa de texto Coluna , introduza a coluna que está a criar. Para substituir uma coluna existente no seu esquema, pode usar o menu suspenso. Para construir a expressão da coluna derivada, selecione a caixa de texto Enter expressão . Você pode começar a digitar sua expressão ou abrir o construtor de expressões para construir sua lógica.

Configurações de coluna derivadas

Para adicionar mais colunas derivadas, selecione Adicionar acima da lista de colunas ou o ícone de mais ao lado de uma coluna derivada existente. Escolha Adicionar coluna ou Adicionar padrão de coluna.

Nova seleção de colunas derivadas

Padrões de coluna

Nos casos em que o seu esquema não está explicitamente definido ou se quiser atualizar um conjunto de colunas em massa, vai querer criar padrões de colunas. Os padrões de coluna permitem que você faça a correspondência de colunas usando regras baseadas nos metadados da coluna e crie colunas derivadas para cada coluna correspondente. Para obter mais informações, saiba como criar padrões de coluna na transformação de coluna derivada.

Padrões de coluna

Construindo esquemas usando o construtor de expressões

Ao usar o construtor de expressões no fluxo de dados de mapeamento, você pode criar, editar e gerenciar suas colunas derivadas na seção de Colunas Derivadas. Todas as colunas criadas ou alteradas na transformação são listadas. Escolha interativamente qual coluna ou padrão está a editar, selecionando o nome da coluna. Para adicionar outra coluna, selecione Criar nova e escolha se deseja adicionar uma única coluna ou um padrão.

Criar nova coluna

Ao trabalhar com colunas complexas, você pode criar subcolunas. Para isso, selecione o ícone de mais ao lado de qualquer coluna e selecione Adicionar subcoluna. Para obter mais informações sobre como lidar com tipos complexos no fluxo de dados, consulte Tratamento JSON no mapeamento do fluxo de dados.

Adicionar subcoluna

Para obter mais informações sobre como lidar com tipos complexos no fluxo de dados, consulte Tratamento JSON no mapeamento do fluxo de dados.

Adicionar coluna complexa

Script de fluxo de dados

Sintaxe

<incomingStream>
    derive(
           <columnName1> = <expression1>,
           <columnName2> = <expression2>,
           each(
                match(matchExpression),
                <metadataColumn1> = <metadataExpression1>,
                <metadataColumn2> = <metadataExpression2>
               )
          ) ~> <deriveTransformationName>

Exemplo

O exemplo abaixo é uma coluna derivada chamada CleanData que usa um fluxo MoviesYear de entrada e cria duas colunas derivadas. A primeira coluna derivada substitui a coluna Rating pelo valor de Rating como um tipo inteiro. A segunda coluna derivada é um padrão que corresponde a cada coluna cujo nome começa com 'filmes'. Para cada coluna emparelhada, cria-se uma coluna movie igual ao valor da coluna correspondente com o prefixo 'movie_'.

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

Exemplo derivado

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

MoviesYear derive(
                Rating = toInteger(Rating),
		        each(
                    match(startsWith(name,'movies')),
                    'movie' = 'movie_' + toString($$)
                )
            ) ~> CleanData