Jaa


Tietojen laatu muodostettuissa tallennustilanäkymissä

Medallion-arkkitehtuureissa datan laatu on valvottava jokaisessa vaiheessa. Huono tietojen laatu voi johtaa virheellisiin merkityksellisiin tietoihin ja operatiiviseen tehotkuuteen.

Tässä artikkelissa selitetään, miten datan laadun tarkistukset toteutetaan materialisoiduissa järvinäkymissä (MLV) Microsoft Fabricissa.

Tietojen laadun toteuttaminen

Microsoft Fabricin materialisoiduissa järvinäkymissä (MLV) ylläpidämme datan laatua määrittämällä rajoituksia näkymiisi. Ilman tarkistuksia pienet dataongelmat voivat pidentää käsittelyaikaa tai vikata putken.

Kun rivi rikkoo rajoitteen, voit käyttää jotakin seuraavista toiminnoista:

  • EPÄONNISTUMINEN: Estää MLV-päivityksen ensimmäisen rajoiterikkomuksen kohdalla. Tämä on oletuskäyttäytyminen, vaikka et määrittäisikään FAIL.

    Varoitus

    MLV:n luominen tai päivittäminen toiminnolla FAIL voi johtaa "delta table not found" -virheeseen. Jos näin käy, luo MLV uudelleen ja vältä toimintaa FAIL .

  • DROP: Jatkaa käsittelyä ja poistaa tietueita, jotka rikkovat rajoitetta. Sukulinjanäkymä näyttää pudonneiden tietueiden määrän.

Huomautus

Jos määrittelet sekä DROP- että FAIL-toiminnot MLV:ssä, FAIL-toiminto menee etusijalle.

Määrittele datan laadun tarkistukset materialisoidussa järvinäkymässä

Seuraavassa esimerkissä määritetään rajoite cust_blank, joka tarkistaa, onko customerName kenttä tyhjäarvo. Rajoite sulkee pois nollan customerName rivit käsittelystä.

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; 

Nykyiset rajoitukset

Materialisoitujen järvinäkymien aineiston laadun rajoituksilla on seuraavat rajoitukset:

  • Et voi päivittää datan laaturajoituksia MLV:n luomisen jälkeen. Rajoitusten muuttamiseksi luo MLV uudelleen.
  • Rajoitustilanteissa ei voi käyttää funktioita tai kuvioiden sovitusoperaattoreita, kuten LIKE regexiä.