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.
Na era do big data, a arquitetura medalhão ganhou destaque como uma estrutura robusta para gerenciar e processar dados em diferentes estágios de refinamento, desde dados brutos até conjuntos de dados altamente selecionados. Essa abordagem estruturada não só melhora a capacidade de gerenciamento de dados, mas também garante que a qualidade dos dados seja mantida durante todo o ciclo de vida dos dados.
Garantir a qualidade dos dados é essencial em cada estágio das arquiteturas de medalhão, o que é fundamental para tomadas de decisões informadas nos negócios. A má qualidade dos dados pode levar a insights incorretos e ineficiências operacionais.
Este artigo explica como implementar a qualidade de dados em vistas materializadas de lagos (MLVs) no Microsoft Fabric.
Implementar a qualidade dos dados
Quando você transforma dados, torna-se importante compor consultas precisas para excluir dados de baixa qualidade das tabelas de origem, o que aumenta o tempo de processamento e, ocasionalmente, faz com que todo o pipeline falhe devido a pequenos problemas de dados.
A qualidade dos dados é mantida definindo restrições ao definir os MLVs. As visualizações materializadas no Fabric fornecem uma abordagem para implementar verificações para o gerenciamento da qualidade dos dados de forma eficiente.
As ações a seguir podem ser implementadas quando as restrições são especificadas.
FAIL – Esta ação para de atualizar um MLV se qualquer restrição for violada, interrompendo na primeira instância. É o comportamento padrão, mesmo sem especificar a palavra-chave FAIL.
DROP – Esta ação processa o MLV e remove registros que não atendem à restrição especificada. Ele também fornece a contagem de registros removidos na visualização de linhagem.
Observação
Se ambas as ações DROP e FAIL forem definidas em um MLV, a ação FAIL terá precedência.
Definindo as verificações de qualidade de dados em uma vista de lago materializada
O exemplo a seguir define a restrição cust_blank, que verifica se o customerName campo não é nulo. As linhas com um nulo customerName são excluídas do processamento.
CREATE MATERIALIZED LAKE VIEW IF NOT EXISTS silver.customers_enriched
(CONSTRAINT cust_blank CHECK (customerName is not null) on MISMATCH DROP)
AS
SELECT
c.customerID,
c.customerName,
c.contact,
CASE
WHEN COUNT(o.orderID) OVER (PARTITION BY c.customerID) > 0 THEN TRUE
ELSE FALSE
END AS has_orders
FROM bronze.customers c LEFT JOIN bronze.orders o
ON c.customerID = o.customerID;
Limitações atuais
- Não há suporte para a atualização de restrições de qualidade de dados após a criação de um MLV. Para atualizar as restrições de qualidade de dados, você deve recriar o MLV.
- O uso de funções e pesquisa de padrões com operadores como LIKE ou regex em condição de restrição é restrito.
Problemas conhecidos
- A criação e atualização de um MLV com uma ação FAIL na restrição pode resultar em um problema de "tabela delta não encontrada". Nesses casos, recomenda-se recriar o MLV e evitar o uso da ação FAIL.