Usando padrões de coluna no mapeamento de fluxos 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!
Várias transformações de fluxos de dados de mapeamento permitem que você faça referência a colunas de modelo com base em padrões em vez de nomes de colunas codificados. Essa correspondência é conhecida como padrões de coluna. Você pode definir padrões para corresponder a colunas com base em nome, tipo de dados, fluxo, origem ou posição, em vez de exigir nomes de campo exatos. Há dois cenários em que os padrões de coluna são úteis:
- Se os campos de origem de entrada mudarem com frequência, como o caso de alterar colunas em arquivos de texto ou bancos de dados NoSQL. Esse cenário é conhecido como desvio de esquema.
- Se você deseja fazer uma operação comum em um grande grupo de colunas. Por exemplo, querer converter todas as colunas que têm 'total' no nome da coluna em duplas.
Padrões de coluna em coluna derivada e agregado
Para adicionar um padrão de coluna em uma transformação de coluna, agregação ou janela derivada, clique em Adicionar acima da lista de colunas ou no ícone de adição ao lado de uma coluna derivada existente. Escolha Adicionar padrão de coluna.
Use o construtor de expressões para inserir a condição de correspondência. Crie uma expressão booleana que corresponda a name
colunas com base no , type
, stream
, origin
e position
da coluna. O padrão afetará qualquer coluna, derivada ou definida, onde a condição retorna true.
O padrão de coluna acima corresponde a cada coluna do tipo double e cria uma coluna derivada por correspondência. Ao indicar $$
como o campo de nome da coluna, cada coluna correspondente é atualizada com o mesmo nome. O valor de cada coluna é o valor existente arredondado para duas casas decimais.
Para verificar se a condição correspondente está correta, você pode validar o esquema de saída das colunas definidas na guia Inspecionar ou obter um instantâneo dos dados na guia Visualização de dados.
Correspondência de padrões hierárquicos
Você também pode criar correspondência de padrões dentro de estruturas hierárquicas complexas. Expanda a seção Each MoviesStruct that matches
onde você será solicitado para cada hierarquia em seu fluxo de dados. Em seguida, você pode criar padrões correspondentes para propriedades dentro dessa hierarquia escolhida.
Achatamento de estruturas
Quando seus dados têm estruturas complexas, como matrizes, estruturas hierárquicas e mapas, você pode usar a transformação Nivelar para desenrolar matrizes e desnormalizar seus dados. Para estruturas e mapas, use a transformação de coluna derivada com padrões de coluna para formar sua tabela relacional nivelada a partir das hierarquias. Você pode usar os padrões de coluna que se pareceriam com este exemplo, que nivela a hierarquia geográfica em um formulário de tabela relacional:
Mapeamento baseado em regras em selecionar e colecionar
Ao mapear colunas na origem e selecionar transformações, você pode adicionar mapeamentos fixos ou mapeamentos baseados em regras. Correspondência com base nas name
colunas , type
, stream
, origin
, 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 na qual corresponder e o nome de cada coluna mapeada. Ambos os valores são inseridos através do construtor de expressões. Na caixa de expressão à esquerda, insira sua condição de correspondência booleana. Na caixa de expressão à direita, especifique para que a coluna correspondente será mapeada.
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 corresponder em todas as colunas de cadeia de caracteres 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 derivadas 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 você clicar no ícone de divisa para baixo, poderá 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 alteradas pela condição à direita usando $$
a sintaxe.
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á produzida usando a regra 'Nome como' especificada à direita.
O exemplo acima corresponde em todas as subcolunas da coluna a
complexa. 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' é $$
.
Valores de expressão correspondentes a padrões
$$
Traduz para o nome ou valor de cada partida em tempo de execução.$$
Pense como equivalente athis
$0
Traduz para a correspondência de nome de coluna atual em tempo de execução para tipos escalares. Para tipos hierárquicos,$0
representa o caminho de hierarquia de coluna correspondente atual.name
representa o nome de cada coluna de entradatype
representa o tipo de dados de cada coluna de entrada. A lista de tipos de dados no sistema de tipos de fluxos de dados pode ser encontrada aqui.stream
representa o nome associado a cada fluxo ou transformação no seu fluxoposition
é a posição ordinal das colunas no seu fluxo de dadosorigin
é a transformação onde uma coluna se originou ou foi atualizada pela última vez
Conteúdos relacionados
- Saiba mais sobre a linguagem de expressão de fluxos de dados de mapeamento para transformações de dados
- Use padrões de coluna na transformação do coletor e selecione a transformação com mapeamento baseado em regras