Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Na era do Big Data, a arquitetura de medalhão ganhou destaque como uma estrutura robusta para gerenciar e processar dados ao longo de diferentes estágios de refinamento, de dados brutos a conjuntos de dados altamente refinados. Essa abordagem estruturada não apenas aprimora a capacidade de gerenciamento de dados, mas também garante que a qualidade dos dados seja mantida em todo o ciclo de vida dos dados.
Garantir a qualidade dos dados é essencial em todos os estágios da arquitetura de medalhão, o que é fundamental para tomar decisões de negócios informadas. A baixa qualidade dos dados pode levar a insights incorretos e ineficiências operacionais.
Este artigo explica como implementar a qualidade dos dados em MLVs (exibições de lago) materializadas no Microsoft Fabric.
Implementar a qualidade dos dados
Quando você transforma dados, torna-se importante redigir consultas precisas para excluir dados de má 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 exibições materializadas no Fabric fornecem uma abordagem para implementar verificações de gerenciamento de qualidade de dados com eficiência.
As ações a seguir podem ser implementadas quando as restrições são especificadas.
FAIL – essa ação interromperá a atualização de um MLV se alguma restrição for violada, interrompendo na primeira instância. É o comportamento padrão, mesmo sem especificar a palavra-chave FAIL.
DROP – Essa ação processa o MLV e remove registros que não atendem à restrição especificada. Ele também fornece a contagem de registros removidos no modo de exibição de linhagem.
Observação
Se 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 exibição 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, é recomendável recriar o MLV e evitar o uso da ação FAIL.