Transformação de coluna derivada 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.

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 , insira na coluna que você está criando. Para substituir uma coluna existente em seu esquema, você pode usar a lista suspensa de coluna. Para criar a expressão da coluna derivada, clique na caixa de texto Inserir expressão . Você pode começar a digitar sua expressão ou abrir o construtor de expressões para construir sua lógica.

Derived column settings

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

New derived column selection

Padrões de coluna

Nos casos em que seu esquema não está explicitamente definido ou se você deseja atualizar um conjunto de colunas em massa, convém criar padrões de coluna. 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.

Column patterns

Construindo esquemas usando o construtor de expressões

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

Create new column

Ao trabalhar com colunas complexas, você pode criar subcolunas. Para fazer isso, clique no ícone de adição 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.

Add subcolumn

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

Add complex column

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 correspondente, ele cria uma coluna que é igual ao valor da coluna movie correspondente prefixada com 'movie_'.

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

Derive example

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
  • Saiba mais sobre a linguagem de expressão Mapping Data Flow.