Transformação de chave substituta 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 chave substituta para adicionar um valor de chave de incremento a cada linha de dados. Isso é útil ao projetar tabelas de dimensão em um modelo de dados analíticos de esquema em estrela. Em um esquema em estrela, cada membro em suas tabelas de dimensão requer uma chave exclusiva que é uma chave não comercial.
Configuração
Coluna de chave: o nome da coluna de chave substituta gerada.
Valor inicial: o menor valor de chave que será gerado.
Chaves de incremento de fontes existentes
Para iniciar sua sequência a partir de um valor que existe em uma fonte, recomendamos usar um coletor de cache para salvar esse valor e usar uma transformação de coluna derivada para adicionar os dois valores juntos. Use uma pesquisa em cache para obter a saída e anexá-la à chave gerada. Para obter mais informações, saiba mais sobre coletores de cache e pesquisas em cache.
Incremento a partir do valor máximo existente
Para semear o valor da chave com o máximo anterior, há duas técnicas que você pode usar com base em onde estão os dados de origem.
Fontes das bases de dados
Use uma opção de consulta SQL para selecionar MAX() da sua origem. Por exemplo, Select MAX(<surrogateKeyName>) as maxval from <sourceTable>
.
Fontes de ficheiros
Se o valor máximo anterior estiver em um arquivo, use a max()
função na transformação agregada para obter o valor máximo anterior:
Em ambos os casos, você precisará gravar em um coletor de cache e pesquisar o valor.
Script de fluxo de dados
Sintaxe
<incomingStream>
keyGenerate(
output(<surrogateColumnName> as long),
startAt: <number>L
) ~> <surrogateKeyTransformationName>
Exemplo
O script de fluxo de dados para a configuração de chave substituta acima está no trecho de código abaixo.
AggregateDayStats
keyGenerate(
output(key as long),
startAt: 1L
) ~> SurrogateKey1
Conteúdos relacionados
Estes exemplos usam as transformações Join e Derived Column .