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

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Os fluxos de dados estão disponíveis tanto em pipelines Azure Data Factory como Azure Synapse. Este artigo aplica-se aos fluxos de dados de mapeamento. Se é novo em transformações, consulte o artigo introdutório Transforme os dados utilizando um fluxo de dados de mapeamento.

Utilize a transformação da coluna derivada para gerar novas colunas no fluxo de dados ou para modificar os campos existentes.

Criar e atualizar colunas

Ao criar uma coluna derivada, pode gerar uma nova coluna ou atualizar uma existente. Na caixa de texto da Coluna , introduza na coluna que está a criar. Para anular uma coluna existente no seu esquema, pode utilizar a coluna dropdown. Para construir a expressão da coluna derivada, clique na caixa de texto de expressão Enter . Pode começar a escrever a sua expressão ou abrir o construtor de expressão para construir a sua lógica.

Derived column settings

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

New derived column selection

Padrões de coluna

Nos casos em que o seu esquema não esteja explicitamente definido ou se pretender atualizar um conjunto de colunas a granel, irá querer criar padrões de colunas. Os padrões de coluna permitem-lhe combinar colunas utilizando regras baseadas nos metadados da coluna e criar colunas derivadas para cada coluna correspondida. Para mais informações, aprenda a construir padrões de colunas na transformação da coluna derivada.

Column patterns

Esquemas de construção usando o construtor de expressão

Ao utilizar o construtor de expressão de fluxo de dados de mapeamento, pode criar, editar e gerir as suas colunas derivadas na secção Colunas Derivadas . Todas as colunas que são criadas ou alteradas na transformação são listadas. Escolha interativamente qual coluna ou padrão está a editar clicando no nome da coluna. Para adicionar uma coluna adicional selecione Criar novo e escolher se deseja adicionar uma única coluna ou um padrão.

Create new column

Ao trabalhar com colunas complexas, pode criar subcolumns. Para isso, clique no ícone mais ao lado de qualquer coluna e selecione Adicionar subcolumn. Para obter mais informações sobre o manuseamento de tipos complexos no fluxo de dados, consulte o tratamento JSON no fluxo de dados de mapeamento.

Add subcolumn

Para obter mais informações sobre o manuseamento de tipos complexos no fluxo de dados, consulte o tratamento JSON no fluxo de dados de mapeamento.

Add complex column

Script de fluxo de dados

Syntax

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

Exemplo

O exemplo abaixo é uma coluna derivada chamada CleanData que toma 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 combina com cada coluna cujo nome começa com "filmes". Para cada coluna correspondida, cria uma coluna movie igual ao valor da coluna partida prefixada com 'movie_'.

Na UI, esta transformação parece a imagem abaixo:

Derive example

O roteiro do fluxo de dados para esta transformação está no snippet abaixo:

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

Passos seguintes