Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 nos pipelines do Azure Data Factory e no 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.
Use a transformação select para renomear, soltar ou reordenar colunas. Essa transformação não altera os dados da linha, mas escolhe quais colunas são propagadas a jusante.
Em uma transformação selecionada, os usuários podem especificar mapeamentos fixos, usar padrões para fazer mapeamento baseado em regras ou habilitar o mapeamento automático. Mapeamentos fixos e baseados em regras podem ser usados dentro da mesma transformação de seleção. Se uma coluna não corresponder a um dos mapeamentos definidos, ela será descartada.
Mapeamento fixo
Se houver menos de 50 colunas definidas em sua projeção, todas as colunas definidas terão um mapeamento fixo por padrão. Um mapeamento fixo pega uma coluna de entrada definida e a mapeia com um nome exato.
Nota
Não é possível mapear ou renomear uma coluna desviada usando um mapeamento fixo
Mapeando colunas hierárquicas
Mapeamentos fixos podem ser usados para mapear uma subcoluna de uma coluna hierárquica para uma coluna de nível superior. Se tiver uma hierarquia definida, use o menu de coluna para selecionar uma subcoluna. A transformação select criará uma nova coluna com o valor e o tipo de dados da subcoluna.
Mapeamento baseado em regras
Se desejar mapear muitas colunas ao mesmo tempo ou passar colunas derivadas para jusante, use o mapeamento baseado em regras para definir seus mapeamentos usando padrões de coluna. Match com base nas colunas name, type, stream, e position. Você pode ter qualquer combinação de mapeamentos fixos e baseados em regras. Por padrão, todas as projeções com mais de 50 colunas usarão como padrão um mapeamento baseado em regras que corresponde em cada coluna e gera o nome inserido.
Para adicionar um mapeamento baseado em regras, clique em Adicionar mapeamento e selecione Mapeamento baseado em regras.
Cada mapeamento baseado em regras requer duas entradas: a condição pela qual se deve corresponder e como nomear cada coluna mapeada. Ambos os valores são inseridos através do construtor de expressões. Na caixa de expressão à esquerda, insira a sua condição de correspondência booleana. Na caixa de expressão à direita, especifique para o que se vai mapear a coluna correspondente.
Use $$ a sintaxe para fazer referência ao nome de entrada de uma coluna correspondente. Usando a imagem acima como exemplo, digamos que um usuário queira fazer corresponder todas as colunas de texto cujos nomes tenham menos de seis caracteres. Se uma coluna de entrada foi nomeada test, a expressão $$ + '_short' irá renomear a coluna test_short. Se esse for o único mapeamento existente, todas as colunas que não atenderem à condição serão descartadas dos dados gerados.
Os padrões correspondem às colunas deslocadas e definidas. Para ver quais colunas definidas são mapeadas por uma regra, clique no ícone de óculos ao lado da regra. Verifique sua saída usando a visualização de dados.
Mapeamento Regex
Se clicar no ícone de seta para baixo, pode especificar uma condição de mapeamento regex. Uma condição de mapeamento de regex corresponde a todos os nomes de coluna que correspondem à condição de regex especificada. Isso pode ser usado em combinação com mapeamentos baseados em regras padrão.
O exemplo acima corresponde ao padrão (r) regex ou a qualquer nome de coluna que contenha um r minúsculo. Semelhante ao mapeamento baseado em regras padrão, todas as colunas correspondentes são modificadas de acordo com a condição à direita, usando a sintaxe $$.
Se você tiver várias correspondências de regex no nome da coluna, poderá fazer referência a correspondências específicas usando $n onde 'n' se refere a qual correspondência. Por exemplo, '$2' refere-se à segunda correspondência dentro do nome de uma coluna.
Hierarquias baseadas em regras
Se a projeção definida tiver uma hierarquia, você poderá usar o mapeamento baseado em regras para mapear as subcolunas de hierarquia. Especifique uma condição correspondente e a coluna complexa cujas subcolunas você deseja mapear. Cada subcoluna correspondente será exibida usando a regra 'Name as' especificada à direita.
O exemplo acima corresponde em todas as subcolunas da coluna acomplexa.
a contém duas subcolunas b e c. O esquema de saída incluirá duas colunas b e c como a condição 'Nome como' é $$.
Parametrização
Você pode parametrizar nomes de colunas usando mapeamento baseado em regras. Use a palavra-chave name para fazer a correspondência entre os nomes das colunas de entrada e um parâmetro. Por exemplo, se você tiver um parâmetro mycolumnde fluxo de dados , poderá criar uma regra que corresponda a qualquer nome de coluna igual a mycolumn. Você pode renomear a coluna correspondente para uma cadeia de caracteres codificada, como 'chave comercial', e fazer referência a ela explicitamente. Neste exemplo, a condição correspondente é name == $mycolumn e a condição de nome é 'chave comercial'.
Mapeamento automático
Ao adicionar uma transformação selecionada, o mapeamento automático pode ser habilitado alternando o controle deslizante de mapeamento automático. Com o mapeamento automático, a transformação 'select' mapeia todas as colunas de entrada, excluindo duplicatas, que tenham o mesmo nome que a sua coluna de entrada. Isso incluirá colunas derivadas, o que significa que os dados de saída podem conter colunas não definidas no esquema. Para obter mais informações sobre colunas desviadas, consulte desvio de esquema.
Com o mapeamento automático ativado, a transformação select respeitará as configurações definidas de ignorar duplicados e fornecerá um novo alias para as colunas existentes. O aliasing é útil ao fazer várias junções ou pesquisas no mesmo fluxo e em cenários de associação automática.
Colunas duplicadas
Por padrão, a transformação select descarta colunas duplicadas na projeção de entrada e saída. As colunas de entrada duplicadas geralmente vêm de transformações de junção e consulta em que os nomes das colunas são replicados em cada lado da junção. Colunas de saída duplicadas podem ocorrer se você mapear duas colunas de entrada diferentes para o mesmo nome. Escolher entre remover ou passar colunas duplicadas ativando a caixa de seleção.
Ordenação das colunas
A ordem dos mapeamentos determina a ordem das colunas de saída. Se uma coluna de entrada for mapeada várias vezes, apenas o primeiro mapeamento será honrado. Para a eliminação de qualquer coluna duplicada, a primeira correspondência será mantida.
Script de fluxo de dados
Sintaxe
<incomingStream>
select(mapColumn(
each(<hierarchicalColumn>, match(<matchCondition>), <nameCondition> = $$), ## hierarchical rule-based matching
<fixedColumn>, ## fixed mapping, no rename
<renamedFixedColumn> = <fixedColumn>, ## fixed mapping, rename
each(match(<matchCondition>), <nameCondition> = $$), ## rule-based mapping
each(patternMatch(<regexMatching>), <nameCondition> = $$) ## regex mapping
),
skipDuplicateMapInputs: { true | false },
skipDuplicateMapOutputs: { true | false }) ~> <selectTransformationName>
Exemplo
Abaixo está um exemplo de um mapeamento de seleção e seu script de fluxo de dados:
DerivedColumn1 select(mapColumn(
each(a, match(true())),
movie,
title1 = title,
each(match(name == 'Rating')),
each(patternMatch(`(y)`),
$1 + 'regex' = $$)
),
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> Select1
Conteúdos relacionados
- Depois de usar Select para renomear, reordenar e criar apelidos para colunas, use a transformação Sink para colocar os seus dados num repositório de dados.