Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt beschreven hoe u gerealiseerde weergaven configureert in Databricks SQL, inclusief toegangsbeheer voor de resultaten. De meeste configuratie kan worden uitgevoerd wanneer u de gerealiseerde weergave maakt met de CREATE OR REPLACE MATERIALIZED VIEW instructie, of na het maken, met de ALTER TABLE instructie.
Een gerealiseerde weergave beschrijven
Gebruik de INSTRUCTIE DESCRIBE om de kolommen en gegevenstypen voor een gerealiseerde weergave op te halen. Als u de kolommen, gegevenstypen en metagegevens zoals eigenaar, locatie, aanmaaktijd en vernieuwingsstatus voor een gerealiseerde weergave wilt ophalen, gebruikt u DESCRIBE EXTENDED. 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.
Verkrijg gedetailleerde informatie over gerealiseerde weergaven met Catalog Explorer
U kunt ook de Catalogusverkenner gebruiken om details van een gematerialiseerde weergave te bekijken.
- Klik op
Catalogus in de zijbalk.
- Open in de boomstructuur van Catalogusverkenner aan de linkerkant de catalogus en selecteer het schema waarin de gematerialiseerde weergave zich bevindt.
- 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 planning vernieuwen
- Zie de details van de pijplijn om de geschiedenis van vernieuwingen te bekijken, evenals gedetailleerde logboeken voor elke vernieuwing. Klik op Vernieuwingsdetails bekijken op het tabblad Overzicht om de details van de pijplijn te zien.
- Het tabelschema
- Voorbeeldgegevens (vereist een actieve berekening)
- Permissions
- Herkomst, inclusief tabellen en pijplijnen waarvan deze gematerialiseerde weergave afhankelijk is
- Inzicht in gebruik
- Monitors die u hebt gemaakt voor deze gerealiseerde weergave
Er zijn enkele eigenschappen van de tabel die niet beschikbaar zijn in Catalog Explorer. Voor deze eigenschappen of om de informatie programmatisch op te halen, kunt u de opdracht DESCRIBE EXTENDED gebruiken.
De definitie van een gerealiseerde weergave bijwerken
De query waarmee de gerealiseerde weergave wordt opgegeven, is de definitie. Als u de definitie van de gerealiseerde weergave wilt wijzigen, bewerkt u de query of maakt u een nieuwe CREATE OR REPLACE-query MATERIALIZED VIEW met dezelfde weergavenaam en voert u deze uit. Er wordt een volledige vernieuwing uitgevoerd om de gerealiseerde weergave bij te werken en voor verdere vernieuwingen wordt de nieuwe definitie gebruikt.
Toegang tot gematerialiseerde weergaven beheren
Gerealiseerde weergaven bieden rijke toegangsbesturing om gegevens te delen zonder mogelijk persoonlijke gegevens bloot te stellen. Een eigenaar van een gerealiseerde weergave of een gebruiker met de MANAGE bevoegdheid kan SELECT bevoegdheden aan andere gebruikers verlenen. Gebruikers met SELECT toegang tot de gerealiseerde weergave hebben geen toegang nodig SELECT 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.
U kunt ook de eigenaar van een gematerialiseerde weergave wijzigen.
Bevoegdheden verlenen aan een gematerialiseerde weergave
Gebruik de GRANT instructie om toegang te verlenen tot een gerealiseerde weergave:
GRANT <privilege_type> ON <mv_name> TO <principal>;
De privilege_type kan het volgende zijn:
-
SELECT- de gebruiker kanSELECTde materiële weergave. -
REFRESH- de gebruiker kanREFRESHde materiële weergave. Vernieuwingen worden uitgevoerd met behulp van de machtigingen van de eigenaar.
In het volgende voorbeeld wordt een gerealiseerde weergave gemaakt en worden machtigingen voor selecteren en vernieuwen verleend aan gebruikers:
CREATE MATERIALIZED VIEW mv_name AS SELECT * FROM source_table;
-- Grant read-only access:
GRANT SELECT ON mv_name TO read_only_user;
-- Grand read and refresh access:
GRANT SELECT ON mv_name TO refresh_user;
GRANT REFRESH ON mv_name TO refresh_user;
Bevoegdheden intrekken vanuit een gerealiseerde weergave
Als u de toegang vanuit een gerealiseerde weergave wilt intrekken, gebruikt u de REVOKE instructie:
REVOKE privilege_type ON <mv_name> FROM principal;
Wanneer SELECT bevoegdheden voor een brontabel worden ingetrokken van de eigenaar van de materialized view of een andere gebruiker die MANAGE of SELECT bevoegdheden voor de materialized view heeft gekregen, of wanneer de brontabel wordt verwijderd, kan de eigenaar van de materialized view of de gebruiker aan wie toegang is verleend nog steeds een query uitvoeren op de materialized view. Het volgende gedrag treedt echter op:
- De gerealiseerde weergave-eigenaar of anderen die de toegang tot een gerealiseerde weergave hebben verloren, kunnen die gerealiseerde weergave niet meer
REFRESHgebruiken en de gerealiseerde weergave wordt verouderd. - 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 read_only_user:
REVOKE SELECT ON mv_name FROM read_only_user;
De eigenaar van een materiële weergave wijzigen
Een gebruiker met MANAGE machtigingen voor een gerealiseerde weergave die is gedefinieerd in Databricks SQL, kan een nieuwe eigenaar instellen via Catalog Explorer. De nieuwe eigenaar kan zichzelf zijn of een service principal waarvoor ze de rol Service Principal User hebben.
Klik in uw Azure Databricks-werkruimte op
Catalogus om de Catalogusverkenner te openen.
Selecteer de gerealiseerde weergave die u wilt bijwerken.
Zoek in de rechterzijbalk onder Over deze gerealiseerde weergave de eigenaar en klik op
Opmerking
Als u een bericht krijgt waarin wordt aangegeven dat u de eigenaar moet bijwerken door de Run as-gebruiker te wijzigen in de pijplijninstellingen, wordt de gerealiseerde weergave gedefinieerd in declaratieve Pijplijnen van Lakeflow Spark, niet in Databricks SQL. Het bericht bevat een koppeling naar de pijplijninstellingen, waar u de Run as-gebruiker kunt wijzigen.
Selecteer een nieuwe eigenaar voor de gematerialiseerde weergave.
Eigenaren hebben automatisch
MANAGEenSELECTbevoegdheden op materialized views die ze bezitten. Als u een service-principal instelt als de eigenaar van een gerealiseerde weergave die u bezit, en u hebt niet explicietSELECTofMANAGEbevoegdheden op de gerealiseerde weergave, dan zou deze wijziging ertoe leiden dat u alle toegang tot de gerealiseerde weergave verliest. In dit geval wordt u gevraagd deze bevoegdheden expliciet op te geven.Selecteer zowel Manage verlenen als Bevoegdheden verlenen SELECT om machtigingen op te geven bij Opslaan.
Klik op Opslaan om de eigenaar te wijzigen.
De eigenaar van de gematerialiseerde weergave wordt bijgewerkt. Alle toekomstige vernieuwingen worden uitgevoerd met behulp van de identiteit van de nieuwe eigenaar.
Wanneer de eigenaar bevoegdheden voor brontabellen verliest
Als u de eigenaar wijzigt en de nieuwe eigenaar geen toegang heeft tot de brontabellen (of SELECT bevoegdheden worden ingetrokken voor de onderliggende brontabellen), kunnen gebruikers nog steeds een query uitvoeren op de gerealiseerde weergave. Aan de andere kant:
- Ze kunnen niet
REFRESHde gerealiseerde weergave. - De volgende geplande vernieuwing van de gerealiseerde weergave mislukt.
Als u de toegang tot de brongegevens verliest, kunt u geen updates meer uitvoeren, maar dat maakt de bestaande gematerialiseerde weergave niet onmiddellijk ongeldig.
Stel het runtimekanaal in
Gerealiseerde weergaven gemaakt met SQL-warehouses worden automatisch vernieuwd via een pijplijn. Pijplijnen maken standaard gebruik van de runtime in het current kanaal. Zie de releaseopmerkingen van Lakeflow Spark Declarative Pipelines 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 preview-kanaal om nieuwe functies te testen door deze 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 sales
TBLPROPERTIES ('pipelines.channel' = 'preview')
AS ...
Als u het kanaal wilt wijzigen nadat u het hebt gemaakt, gebruikt u de ALTER TABLE instructie:
ALTER TABLE <table-name> SET TBLPROPERTIES ('pipelines.channel' = 'preview');