Afirmar a transformação 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.
A transformação assert permite que você crie regras personalizadas dentro de seus fluxos de dados de mapeamento para qualidade de dados e validação de dados. Você pode criar regras que determinarão se os valores atendem a um domínio de valor esperado. Além disso, você pode criar regras que verificam a exclusividade da linha. A transformação assert ajudará a determinar se cada linha em seus dados atende a um conjunto de critérios. A transformação assert também permite definir mensagens de erro personalizadas quando as regras de validação de dados não são atendidas.
Configuração
No painel de configuração de transformação de declaração, você escolherá o tipo de declaração, fornecerá um nome exclusivo para a asserção, descrição opcional e definirá a expressão e o filtro opcional. O painel de visualização de dados indicará quais linhas falharam em suas afirmações. Além disso, você pode testar cada marca de linha downstream usando isError()
e hasError()
para linhas que falharam asserções.
Tipo de declaração
- Espere verdadeiro: O resultado da sua expressão deve ser avaliado para um resultado booleano verdadeiro. Use isso para validar intervalos de valores de domínio em seus dados.
- Esperar exclusivo: defina uma coluna ou uma expressão como uma regra de exclusividade em seus dados. Use isso para marcar linhas duplicadas.
- A expectativa existe: essa opção só está disponível quando você seleciona um segundo fluxo de entrada. Exists examinará ambos os fluxos e determinará se as linhas existem em ambos os fluxos com base nas colunas ou nas expressões que você especificou. Para adicionar o segundo fluxo para exists, selecione
Additional streams
.
Falha no fluxo de dados
Selecione fail data flow
se deseja que sua atividade de fluxo de dados falhe imediatamente assim que a regra de asserção falhar.
Afirmar ID
Assert ID é uma propriedade onde você inserirá um nome (string) para sua afirmação. Você poderá usar o identificador posteriormente a jusante em seu fluxo de dados usando hasError()
ou para produzir o código de falha de asserção. As IDs de declaração devem ser exclusivas dentro de cada fluxo de dados.
Afirmar descrição
Insira uma descrição de cadeia de caracteres para sua afirmação aqui. Você também pode usar expressões e valores de coluna de contexto de linha aqui.
Filtro
Filter é uma propriedade opcional onde você pode filtrar a asserção para apenas um subconjunto de linhas com base no valor da expressão.
Expression
Insira uma expressão para avaliação para cada uma de suas afirmações. Você pode ter várias asserções para cada transformação de asserção. Cada tipo de asserção requer uma expressão que o ADF precisará avaliar para testar se a asserção foi aprovada.
Ignorar NULLs
Por padrão, a transformação assert incluirá NULLs na avaliação de asserção de linha. Você pode optar por ignorar NULLs com essa propriedade.
Falhas de linha de asserção direta
Quando uma asserção falha, você pode, opcionalmente, direcionar essas linhas de erro para um arquivo no Azure usando a guia "Erros" na transformação do coletor. Você também terá uma opção na transformação do coletor para não gerar linhas com falhas de asserção, ignorando as linhas de erro.
Exemplos
source(output(
AddressID as integer,
AddressLine1 as string,
AddressLine2 as string,
City as string,
StateProvince as string,
CountryRegion as string,
PostalCode as string,
rowguid as string,
ModifiedDate as timestamp
),
allowSchemaDrift: true,
validateSchema: false,
isolationLevel: 'READ_UNCOMMITTED',
format: 'table') ~> source1
source(output(
CustomerID as integer,
AddressID as integer,
AddressType as string,
rowguid as string,
ModifiedDate as timestamp
),
allowSchemaDrift: true,
validateSchema: false,
isolationLevel: 'READ_UNCOMMITTED',
format: 'table') ~> source2
source1, source2 assert(expectExists(AddressLine1 == AddressLine1, false, 'nonUS', true(), 'only valid for U.S. addresses')) ~> Assert1
Script de fluxo de dados
Exemplos
source1, source2 assert(expectTrue(CountryRegion == 'United States', false, 'nonUS', null, 'only valid for U.S. addresses'),
expectExists(source1@AddressID == source2@AddressID, false, 'assertExist', StateProvince == 'Washington', toString(source1@AddressID) + ' already exists in Washington'),
expectUnique(source1@AddressID, false, 'uniqueness', null, toString(source1@AddressID) + ' is not unqiue')) ~> Assert1
Conteúdos relacionados
- Use a transformação Selecionar para selecionar e validar colunas.
- Use a transformação de coluna derivada para transformar valores de coluna.