Delen via


Gerealiseerde weergaven gebruiken in Databricks SQL

In dit artikel wordt beschreven hoe u gerealiseerde weergaven maakt en gebruikt in Databricks SQL om de prestaties te verbeteren en de kosten van uw gegevensverwerkings- en analyseworkloads te verlagen.

Notitie

Als u een Azure Private Link-verbinding met uw gerealiseerde weergave wilt gebruiken, neemt u contact op met uw Databricks-vertegenwoordiger.

Belangrijk

Gerealiseerde weergaven die zijn gemaakt in Databricks SQL, worden ondersteund door een serverloze DLT-pijplijn. Uw werkruimte moet serverloze pijplijnen ondersteunen om deze functionaliteit te kunnen gebruiken.

Wat zijn gematerialiseerde weergaven?

In Databricks SQL zijn gerealiseerde weergaven beheerde tabellen van Unity Catalog waarmee gebruikers resultaten vooraf kunnen compileren op basis van de nieuwste versie van gegevens in brontabellen. Gerealiseerde weergaven in Azure Databricks verschillen van andere implementaties, omdat de geretourneerde resultaten de status van de gegevens weerspiegelen wanneer de gerealiseerde weergave voor het laatst werd vernieuwd in plaats van altijd resultaten bij te werken wanneer de gerealiseerde weergave wordt opgevraagd. U kunt gerealiseerde weergaven handmatig vernieuwen of vernieuwingen plannen.

Gerealiseerde weergaven zijn krachtig voor gegevensverwerkingsworkloads, zoals ETL-verwerking (extract, transform en load). Gerealiseerde weergaven bieden een eenvoudige, declaratieve manier om gegevens te verwerken voor naleving, correcties, aggregaties of algemene wijzigingsgegevensopname (CDC). Gerealiseerde weergaven verlagen de kosten en verbeteren de querylatentie door trage query's en veelgebruikte berekeningen vooraf te berekenen. Gerealiseerde weergaven maken ook gebruiksvriendelijke transformaties mogelijk door basistabellen op te schonen, verrijken en denormaliseren. Gerealiseerde weergaven kunnen kosten verlagen terwijl ze een vereenvoudigde eindgebruikerservaring bieden, omdat ze in sommige gevallen incrementeel wijzigingen kunnen berekenen uit de basistabellen.

Gerealiseerde weergaven werden voor het eerst ondersteund in Azure Databricks met de lancering van DLT-. Wanneer u een gerealiseerde weergave maakt in een Databricks SQL Warehouse, wordt er een serverloze pijplijn gemaakt om vernieuwingen naar de gerealiseerde weergave te verwerken. U kunt de status van vernieuwingsbewerkingen bewaken in de DLT-gebruikersinterface of de pijplijnen API-. Zie De status van een gerealiseerde weergavevernieuwing weergeven.

Eisen

Het maken of vernieuwen van gematerialiseerde weergaven:

  • U moet een pro- of serverloze SQL-warehouse met Unity Catalog gebruiken.
  • Als u een gerealiseerde weergave wilt vernieuwen, moet u zich in de werkruimte bevinden die deze heeft gemaakt.

Gematerialiseerde views opvragen:

  • U moet de eigenaar van de gerealiseerde weergave zijn of beschikken over SELECT voor de gerealiseerde weergave, samen met USE SCHEMA en USE CATALOG voor de bovenliggende objecten.
  • U moet een van de volgende rekenresources gebruiken:
    • SQL Warehouse
    • DLT-interfaces
    • Berekening van de standaardtoegangsmodus (voorheen modus voor gedeelde toegang)
    • De exclusieve toegangsmodus (voorheen modus voor toegang tot één gebruiker) in Databricks Runtime 15.4 en hoger, zolang de werkruimte is ingeschakeld voor serverloze verwerking. Zie Gedetailleerd toegangsbeheer voor toegewezen rekenkracht (voorheen rekenkracht van één gebruiker).
    • Alleen als u de eigenaar van de materialized view bent: een computerresource in exclusieve toegangsmode die draait op Databricks Runtime versie 14.3 tot en met 15.3.

Zie Beperkingenvoor meer informatie over andere beperkingen voor het gebruik van gerealiseerde weergaven.

Een gerealiseerde weergave maken

Databricks SQL-bewerkingen voor gematerialiseerde weergaven gebruiken een Databricks SQL-warehouse om gegevens te creëren en te laden in de gematerialiseerde weergave. Het maken van een gerealiseerde weergave is een synchrone bewerking, wat betekent dat de CREATE MATERIALIZED VIEW opdracht wordt geblokkeerd totdat de gerealiseerde weergave wordt gemaakt en de initiële gegevensbelasting is voltooid. Er wordt automatisch een serverloze DLT-pijplijn gemaakt voor elke gerealiseerde Databricks SQL-weergave. Wanneer de gerealiseerde weergave wordt vernieuwd de DLT-pijplijn de vernieuwing verwerkt.

Gebruik de CREATE MATERIALIZED VIEW instructie om een gerealiseerde weergave te maken. Als u een create-instructie wilt verzenden, gebruikt u de SQL-editor in de Azure Databricks-gebruikersinterface, de Databricks SQL CLI of de Databricks SQL-API.

Notitie

De gebruiker die een gerealiseerde weergave maakt, is de gerealiseerde eigenaar van de weergave en moet over de volgende machtigingen beschikken:

  • SELECT rechten op de basistabellen waarnaar de gematerialiseerde weergave verwijst.
  • USE CATALOG en USE SCHEMA bevoegdheden voor de catalogus en het schema met de brontabellen voor de gerealiseerde weergave.
  • USE CATALOG en USE SCHEMA bevoegdheden voor de doelcatalogus en -schema voor de gematerialiseerde weergave.
  • CREATE TABLE en CREATE MATERIALIZED VIEW bevoegdheden voor het schema met de ge-materialiseerde weergave.

In het volgende voorbeeld wordt de gerealiseerde weergave gemaakt mv1 uit de basistabel base_table1:

CREATE MATERIALIZED VIEW mv1
AS SELECT
  date,
  sum(sales) AS sum_of_sales
FROM
  base_table1
GROUP BY
  date;

Kolomopmerkingen in een basistabel worden automatisch doorgegeven aan de nieuwe gerealiseerde weergave. Als u een planning, tabelbeperkingen of andere eigenschappen wilt toevoegen, wijzigt u de gerealiseerde weergavedefinitie. Zie CREATE MATERIALIZED VIEWvoor meer informatie over syntaxisdetails voor het definiëren van een gerealiseerde weergave.

Stel het runtimekanaal in

Gematerialiseerde weergaven die zijn gemaakt met behulp van SQL Warehouses, worden automatisch vernieuwd met behulp van een DLT-pijplijn. DLT-pijplijnen maken standaard gebruik van de runtime in het current-kanaal. Zie DLT-releaseopmerkingen en het release-upgradeproces voor meer informatie over het releaseproces.

Databricks raadt het gebruik van het current kanaal aan voor productieworkloads. Nieuwe functies worden voor het eerst uitgebracht voor het preview kanaal. U kunt een pijplijn instellen op het DLT-voorbeeldkanaal om nieuwe functies te testen door preview op te geven als een tabeleigenschap. U kunt deze eigenschap opgeven wanneer u de tabel maakt of nadat de tabel is gemaakt met behulp van een ALTER-instructie.

In het volgende codevoorbeeld ziet u hoe u het kanaal instelt op preview in een CREATE-instructie:

CREATE OR REPLACE MATERIALIZED VIEW foo.default.bar
TBLPROPERTIES ('pipelines.channel' = 'preview') as
SELECT
  *
FROM
  range(5)

Gegevens laden uit externe systemen

Databricks raadt aan externe gegevens te laden met Lakehouse Federation voor ondersteunde gegevensbronnen. Zie Opties voor gegevensindeling voor informatie over het laden van gegevens uit bronnen die niet worden ondersteund door Lakehouse Federation.

Een gematerialiseerde weergave vernieuwen

De REFRESH bewerking vernieuwt de gerealiseerde weergave om de meest recente wijzigingen in de basistabel weer te geven. De bewerking is standaard synchroon, wat betekent dat de opdracht wordt geblokkeerd totdat de vernieuwingsbewerking is voltooid. Als u een gematerialiseerde weergave wilt vernieuwen, gebruikt u de instructie REFRESH MATERIALIZED VIEW. Zie REFRESH (MATERIALIZED VIEW of STREAMING TABLE) voor meer informatie over de SQL-syntaxis en parameters voor deze opdracht. Zie Incrementeel vernieuwen van gematerialiseerde weergavenvoor meer informatie over de typen gematerialiseerde weergaven die incrementeel kunnen worden vernieuwd.

Als u een vernieuwingsinstructie wilt verzenden, gebruikt u de SQL-editor in de Gebruikersinterface van Azure Databricks, een notebook dat is gekoppeld aan een SQL-warehouse, de Databricks SQL CLIof de Databricks SQL API.

Alleen de eigenaar kan REFRESH de gematerialiseerde weergave.

In het volgende voorbeeld wordt de mv1 gematerialiseerde weergave vernieuwd.

REFRESH MATERIALIZED VIEW mv1;

Hoe worden Databricks SQL gematerialiseerde weergaven vernieuwd?

Gematerialiseerde weergaven maken en gebruiken automatisch serverloze DLT-pijplijnen om vernieuwingsbewerkingen uit te voeren. De vernieuwing wordt beheerd door de DLT-pijplijn en de update wordt bewaakt door het Databricks SQL-warehouse dat wordt gebruikt om de gerealiseerde weergave te maken. Gematerialiseerde weergaven kunnen worden bijgewerkt met behulp van een DLT-pijplijn die volgens een schema wordt uitgevoerd. Zie Geactiveerd versus doorlopende pijplijnmodus.

Notitie

De DLT-runtime kan geen wijzigingen in niet-Delta-gegevensbronnen detecteren. De tabel wordt nog steeds regelmatig bijgewerkt, maar met een hoger standaardtriggerinterval om te voorkomen dat overmatige hercomputatie de incrementele verwerking op de berekening vertraagt.

Vernieuwingsbewerkingen worden standaard synchroon uitgevoerd. U kunt ook een vernieuwingsbewerking instellen om asynchroon te worden uitgevoerd. Dit kan worden ingesteld met behulp van de opdracht Vernieuwen. Zie REFRESH (MATERIALIZED VIEW of STREAMING TABLE) Het gedrag dat aan elke benadering is gekoppeld, is als volgt:

  • synchrone: Een synchrone verversing voorkomt dat andere bewerkingen doorgaan totdat de verversing voltooid is. Als het resultaat nodig is voor de volgende stap, zoals bij het sequentiëren van vernieuwingsbewerkingen in orkestratiehulpmiddelen zoals Databricks Jobs, gebruik dan een synchrone vernieuwing. Als u materiaalweergaven wilt orkestreren met een taak, gebruikt u het SQL- taaktype. Zie Overzicht van orkestratie op Databricks.
  • Asynchrone: een asynchrone vernieuwing start een achtergrondtaak op DLT-berekening wanneer een geïmplementeerde vernieuwing van de weergave begint, zodat de opdracht kan terugkeren voordat de gegevensladen voltooid is. Dit vernieuwingstype kan kosten besparen omdat de bewerking niet noodzakelijkerwijs rekencapaciteit bevat in het magazijn waar de opdracht wordt gestart. Als de vernieuwing inactief is en er geen andere taken worden uitgevoerd, kan het magazijn worden uitgeschakeld terwijl de vernieuwing gebruikmaakt van andere beschikbare rekenkracht. Daarnaast bieden asynchrone vernieuwingen ondersteuning voor het parallel starten van meerdere bewerkingen.

Sommige query's kunnen incrementeel worden vernieuwd. Zie incrementele bijwerking voor gematerialiseerde weergaven. Als een incrementele vernieuwing niet kan worden uitgevoerd, wordt in plaats daarvan een volledige vernieuwing uitgevoerd.

Gematerialiseerde weergavevernieuwingen plannen

U kunt een gerealiseerde databricks SQL-weergave configureren om automatisch te vernieuwen op basis van een gedefinieerd schema. Ga op een van de volgende manieren te werk om een planning in te stellen:

Wanneer een planning wordt gemaakt, wordt automatisch een nieuwe Databricks-taak geconfigureerd om de update te verwerken.

Gebruik een van de volgende methoden om de planning weer te geven:

  • Voer de DESCRIBE EXTENDED instructie uit vanuit de SQL-editor in de Gebruikersinterface van Azure Databricks.
  • Gebruik Catalog Explorer om de gerealiseerde weergave weer te geven. Het schema staat vermeld op het tabblad Overzicht, onder Status vernieuwen. Zie Wat is Catalog Explorer?.

De status van een gematerialiseerde weergave-verversing bekijken

Notitie

Omdat een DLT-pijplijn verantwoordelijk is voor materialized view vernieuwingen, is er vertraging als gevolg van de opstarttijd van de pijplijn. Deze tijd kan in de seconden tot minuten zijn, naast de tijd die nodig is om de vernieuwing uit te voeren.

U kunt de status van een vernieuwing van een materialized view bekijken door de pijplijn te bekijken die de materialized view beheert in de DLT-gebruikersinterface of door de Verversingsinformatie weer te geven geretourneerd door de opdracht DESCRIBE EXTENDED voor de materialized view.

U kunt ook de vernieuwingsgeschiedenis van een gerealiseerde weergave bekijken door een query uit te voeren op het DLT-gebeurtenislogboek. Zie Bekijk de vernieuwingsgeschiedenis voor een gematerialiseerde weergave.

Uitvoeringen volgen met de geschiedenis van query's

U kunt de pagina querygeschiedenis gebruiken voor toegang tot querydetails en queryprofielen waarmee u slecht presterende query's en knelpunten in de DLT-pijplijn kunt identificeren die worden gebruikt om de updates van de streamingtabel uit te voeren. Zie Querygeschiedenis en Queryprofiel voor een overzicht van het soort informatie dat beschikbaar is voor querygeschiedenissen en queryprofielen.

Belangrijk

Deze functie is beschikbaar als openbare preview. Werkruimtebeheerders kunnen deze functie inschakelen vanaf de pagina Previews . Zie Azure Databricks Previews beheren.

Alle uitspraken met betrekking tot gerealiseerde weergaven verschijnen in de querygeschiedenis. U kunt de -verklaring vervolgkeuzelijst gebruiken om een opdracht te selecteren en de gerelateerde query's te bekijken. Alle CREATE instructies worden gevolgd door een REFRESH instructie die asynchroon wordt uitgevoerd op een DLT-pijplijn. De REFRESH instructies bevatten doorgaans gedetailleerde queryplannen die inzicht bieden in het optimaliseren van de prestaties.

Gebruik de volgende stappen om toegang te krijgen tot REFRESH instructies in de gebruikersinterface van de querygeschiedenis:

  1. Klik op geschiedenis-pictogram in de linkerzijbalk om de gebruikersinterface voor query-geschiedenis te openen.
  2. Selecteer het selectievakje REFRESH in de vervolgkeuzelijstfilter Verklaring.
  3. Klik op de naam van de query om een overzicht weer te geven van details zoals de duur van de query en geaggregeerde statistieken.
  4. Klik op Queryprofiel weergeven om het queryprofiel te openen. Zie Queryprofiel voor meer informatie over het navigeren in het queryprofiel.
  5. U kunt eventueel de koppelingen in de sectie Querybron gebruiken om de gerelateerde query of pijplijn te openen.

Zie CREATE MATERIALIZED VIEW.

De vernieuwingsstatus weergeven in de DLT-gebruikersinterface

De DLT-pijplijn die een gerealiseerde weergave beheert, is standaard niet zichtbaar in de DLT-gebruikersinterface. Als u de pijplijn in de DLT-gebruikersinterface wilt weergeven, moet u rechtstreeks toegang krijgen tot de koppeling naar de pijplijndetails pagina. Ga als volgende te werk om toegang te krijgen tot de koppeling:

  • Kopieer en plak de koppeling die wordt weergegeven in de meest recente vernieuwingsrij van de tabel die wordt geretourneerd door de opdracht DESCRIBE EXTENDED.
  • Klik op het tabblad Herkomst voor de materiële weergave, op Pijplijnen en vervolgens op de pijplijnkoppeling.

Voor asynchrone REFRESH opdrachten die zijn verzonden met behulp van de SQL-editor in de gebruikersinterface van Azure Databricks, kunt u de vernieuwingsstatus bekijken door de koppeling te volgen die wordt weergegeven in het deelvenster Resultaten.

een actieve vernieuwing stoppen

Als u een actieve vernieuwing in de DLT-gebruikersinterface wilt stoppen, klikt u op de pagina pijplijndetails op Stoppen om de pijplijnupdate te stoppen. U kunt het verversen ook stoppen met de Databricks CLI of de POST /api/2.0/pipelines/{pipeline_id}/stop operatie in de Pipelines-API.

de definitie van een gerealiseerde weergave bijwerken

Als u de definitie van een gerealiseerde weergave wilt bijwerken, moet u eerst de gerealiseerde weergave verwijderen en vervolgens de gerealiseerde weergave opnieuw maken.

records definitief verwijderen uit een gerealiseerde weergave met verwijderingsvectoren ingeschakeld

Belangrijk

Ondersteuning voor de REORG-instructie met gematerialiseerde weergaven bevindt zich in openbare preview.

Notitie

  • Voor het gebruik van een REORG-instructie met een gerealiseerde weergave is Databricks Runtime 15.4 en hoger vereist.
  • Hoewel u de REORG-instructie kunt gebruiken met elke gematerialiseerde weergave, is dit alleen vereist wanneer u gegevens uit een gematerialiseerde weergave verwijdert waarbij verwijderingsvectoren zijn ingeschakeld. De opdracht heeft geen effect wanneer deze wordt gebruikt met een gerealiseerde weergave zonder verwijderingsvectoren ingeschakeld.

Als u records fysiek wilt verwijderen uit de onderliggende opslag voor een gerealiseerde weergave waarvoor verwijderingsvectoren zijn ingeschakeld, zoals voor AVG-naleving, moet u aanvullende stappen uitvoeren om ervoor te zorgen dat een VACUUM bewerking wordt uitgevoerd op de gerealiseerde gegevens van de weergave.

In de volgende stappen worden deze stappen uitgebreider beschreven:

  1. Voer een REORG-instructie uit voor de gematerialiseerde weergave, waarbij u de parameter APPLY (PURGE) opgeeft. Bijvoorbeeld REORG TABLE <materialized-view-name> APPLY (PURGE);. Zie REORG TABLE.
  2. Wacht totdat de gegevensretentieperiode van de gerealiseerde weergave is verstreken. De standaardperiode voor gegevensretentie is zeven dagen, maar kan worden geconfigureerd met de eigenschap delta.deletedFileRetentionDuration tabel. Zie Gegevensretentie configureren voor tijdreis-query's.
  3. REFRESH de gematerialiseerde weergave. Zie Een Gematerialiseerde Weergave Vernieuwen. Binnen 24 uur na de REFRESH bewerking worden DLT-onderhoudstaken, inclusief de VACUUM bewerking die nodig is om ervoor te zorgen dat records permanent worden verwijderd, automatisch uitgevoerd. Zie Onderhoudstaken die worden uitgevoerd door DLT-.

Een materiële weergave verwijderen

Notitie

Als u de opdracht wilt verzenden om een gerealiseerde weergave te verwijderen, moet u de eigenaar van die gerealiseerde weergave zijn of de bevoegdheid MANAGE voor de gerealiseerde weergave hebben.

Als u een gerealiseerde weergave wilt verwijderen, gebruikt u de instructie DROP VIEW. Als u een DROP instructie wilt verzenden, kunt u de SQL-editor gebruiken in de Gebruikersinterface van Azure Databricks, de Databricks SQL CLI of de Databricks SQL-API. In het volgende voorbeeld wordt de mv1 gerealiseerde weergave verwijderd.

DROP MATERIALIZED VIEW mv1;

Een gerealiseerde weergave beschrijven

Gebruik de instructie DESCRIBE om de kolommen en gegevenstypen voor een materiële weergave op te halen. Gebruik DESCRIBE EXTENDEDom de kolommen, gegevenstypen en metagegevens op te halen, zoals eigenaar, locatie, aanmaaktijd en vernieuwingsstatus voor een gerealiseerde weergave. Als u een DESCRIBE instructie wilt verzenden, gebruikt u de SQL-editor in de Gebruikersinterface van Azure Databricks, de Databricks SQL CLI of de Databricks SQL-API.

De eigenaar van een gerealiseerde weergave wijzigen

U kunt de eigenaar van een gerealiseerde weergave wijzigen als u zowel een metastore-beheerder als een werkruimtebeheerder bent. Gerealiseerde weergaven maken en gebruiken automatisch DLT-pijplijnen om wijzigingen te verwerken. Gebruik de volgende stappen om de eigenaar van een gematerialiseerde weergave te wijzigen:

  • Klik op het tabblad Herkomst voor de gematerialiseerde weergave, klik op Pijplijnen en klik vervolgens op de pijplijnkoppeling.
  • Klik op delen. Het dialoogvenster Machtigingsinstellingen wordt weergegeven.
  • Klik op x rechts van de naam van de huidige eigenaar om de huidige eigenaar te verwijderen.
  • Begin te typen om de lijst met beschikbare gebruikers te filteren. Klik op de gebruiker die de nieuwe eigenaar van de pijplijn moet zijn.
  • Klik op Opslaan om de wijzigingen op te slaan en het dialoogvenster te sluiten.

Alle pijplijnassets, inclusief de in de pijplijn gedefinieerde gematerialiseerde weergaven, zijn eigendom van de nieuwe pijplijneigenaar. Alle toekomstige updates worden uitgevoerd met behulp van de identiteit van de nieuwe eigenaar.

Toegang tot gematerialiseerde weergaven beheren

Gerealiseerde weergaven bieden ondersteuning voor uitgebreide toegangscontroles om gegevensdeling te ondersteunen, terwijl wordt vermeden dat mogelijk privégegevens worden blootgesteld. Een materiaalweergave-eigenaar of een gebruiker met de MANAGE-rechten kan SELECT-rechten verlenen aan andere gebruikers. Gebruikers met SELECT toegang tot de gerealiseerde weergave hebben geen SELECT toegang nodig tot de tabellen waarnaar wordt verwezen door de gerealiseerde weergave. Met dit toegangsbeheer kunt u gegevens delen terwijl u de toegang tot de onderliggende gegevens beheert.

Bevoegdheden verlenen aan een gematerialiseerde weergave

Als u toegang wilt verlenen tot een gerealiseerde weergave, gebruikt u de GRANT-instructie:

GRANT
  privilege_type [, privilege_type ] ...
  ON <mv_name> TO principal;

De privilege_type kan het volgende zijn:

  • SELECT - de gebruiker kan SELECT de gematerialiseerde weergave.
  • REFRESH - de gebruiker kan REFRESH de gematerialiseerde weergave. Vernieuwingen worden uitgevoerd met behulp van de machtigingen van de eigenaar.

In het volgende voorbeeld wordt een gerealiseerde weergave gemaakt en worden selectie- en vernieuwingsbevoegdheden verleend aan een gebruiker:

CREATE MATERIALIZED VIEW <mv_name> AS SELECT * FROM <base_table>;
GRANT SELECT ON <mv_name> TO user;
GRANT REFRESH ON <mv_name> TO user;

Bevoegdheden intrekken vanuit een gerealiseerde weergave

Als u de toegang vanuit een gerealiseerde weergave wilt intrekken, gebruikt u de instructie REVOKE:

REVOKE
  privilege_type [, privilege_type ]
  ON <name> FROM principal;

Wanneer SELECT bevoegdheden voor een basistabel worden ingetrokken van de eigenaar van de gerealiseerde weergave of een andere gebruiker aan wie MANAGE of SELECT bevoegdheden voor de gerealiseerde weergave zijn verleend, of als de basistabel wordt verwijderd, kan de eigenaar van de gerealiseerde weergave of de gebruiker met verleende toegang nog steeds een query uitvoeren op de gerealiseerde weergave. Het volgende gedrag treedt echter op:

  • De eigenaar van de gematerialiseerde weergave of anderen die de toegang tot een gematerialiseerde weergave hebben verloren, kunnen die gematerialiseerde weergave niet langer REFRESH, en de gematerialiseerde weergave zal verouderd raken.
  • Als het geautomatiseerd is met een schema, mislukt de volgende geplande REFRESH-bewerking of wordt deze niet uitgevoerd.

In het volgende voorbeeld wordt de SELECT bevoegdheid ingetrokken van mv1:

REVOKE SELECT ON mv1 FROM user1;

Wijzigingsgegevensfeed inschakelen

Een wijzigingengegevensstroom is vereist voor de basistabellen van materiële weergaven, met uitzondering van bepaalde geavanceerde gebruikssituaties. Als u de wijzigingsgegevensfeed voor een basistabel wilt inschakelen, stelt u de eigenschap van de delta.enableChangeDataFeed-tabel in met behulp van de volgende syntaxis:

ALTER TABLE table1 SET TBLPROPERTIES (delta.enableChangeDataFeed = true);

De vernieuwingsgeschiedenis voor een gerealiseerde weergave weergeven

Als u de status van REFRESH bewerkingen in een gerealiseerde weergave wilt weergeven, inclusief huidige en eerdere vernieuwingen, voert u een query uit op het DLT-gebeurtenislogboek:

SELECT
  *
FROM
  event_log(TABLE(<fully-qualified-table-name>))
WHERE
  event_type = "update_progress"
ORDER BY
  timestamp desc;

Vervang <fully-qualified-table-name> door de volledig gekwalificeerde naam van de gerealiseerde weergave, inclusief de catalogus en het schema.

Zie Wat is het DLT-gebeurtenislogboek?.

Ontvang gedetailleerde informatie over gerealiseerde weergaven met Catalog Explorer

U kunt de Catalog Explorer gebruiken om details over een materiële weergave weer te geven.

  1. Klik op CataloguspictogramCatalogus in de zijbalk.
  2. Open in de boomstructuur van Catalogusverkenner aan de linkerkant de catalogus en selecteer het schema waarin de gematerialiseerde weergave zich bevindt.
  3. Open het -item Tabellen onder het door u geselecteerde schema en klik op de gematerialiseerde weergave.

Hier kunt u de tabbladen onder de gerealiseerde weergavenaam gebruiken om informatie over de gerealiseerde weergave weer te geven en te bewerken, waaronder:

  • Status en geschiedenis vernieuwen
  • Het tabelschema
  • Voorbeeldgegevens (vereist een actieve berekening)
  • Machtigingen
  • Herkomst, inclusief tabellen en pijplijnen waarvan deze gematerialiseerde weergave afhankelijk is
  • Inzicht in gebruik
  • Monitors die u hebt gemaakt voor deze gerealiseerde weergave

Beperkingen

  • Zie Vereisten voor reken- en werkruimtevereisten.
  • De gematerialiseerde weergaven bieden geen ondersteuning voor identiteitskolommen of surrogaatsleutels.
  • Als een gerealiseerde weergave gebruikmaakt van een somaggregatie over een NULL-able kolom en alleen NULL waarden in die kolom blijven, is de resulterende geaggregeerde waarde van de gerealiseerde weergave nul in plaats van NULL.
  • U kunt een wijzigingsgegevensfeed niet lezen vanuit een materiële weergave.
  • Queries voor tijdreizen worden niet ondersteund op gematerialiseerde weergaven.
  • De onderliggende bestanden die gerealiseerde weergaven ondersteunen, bevatten mogelijk gegevens uit upstreamtabellen (inclusief mogelijke persoonsgegevens) die niet worden weergegeven in de gerealiseerde weergavedefinitie. Deze gegevens worden automatisch toegevoegd aan de onderliggende opslag ter ondersteuning van incrementeel vernieuwen van gerealiseerde weergaven. Omdat de onderliggende bestanden van een gerealiseerde weergave mogelijk risico lopen dat gegevens uit upstream-tabellen worden weergegeven die geen deel uitmaken van het gerealiseerde weergaveschema, raadt Databricks aan om de onderliggende opslag niet te delen met niet-vertrouwde downstreamgebruikers. Stel dat de definitie van een gerealiseerde weergave een COUNT(DISTINCT field_a) component bevat. Hoewel de gerealiseerde weergave alleen de aggregatie COUNT DISTINCT-clausule bevat, zullen de onderliggende bestanden een lijst bevatten met de werkelijke waarden van field_a.