Wat is een weergave?
Een weergave is een alleen-lezenobject dat het resultaat is van een query over een of meer tabellen en weergaven in een Unity Catalog-metastore. U kunt een weergave maken op basis van tabellen en vanuit andere weergaven in meerdere schema's en catalogi.
In dit artikel worden de weergaven beschreven die u in Azure Databricks kunt maken en krijgt u een uitleg van de machtigingen en berekeningen die nodig zijn om er query's op uit te voeren.
Zie voor meer informatie over het maken van weergaven:
- Weergaven maken
- gematerialiseerde weergaven
- dynamische weergaven
Weergaven in Unity Catalog
In Unity Catalog bevinden weergaven zich op het derde niveau van de naamruimte op drie niveaus (catalog.schema.view
):
In een weergave wordt de tekst van een query opgeslagen op basis van een of meer gegevensbronnen of tabellen in de metastore. In Azure Databricks is een weergave gelijk aan een Spark DataFrame dat als een object in een schema wordt bewaard. In tegenstelling tot DataFrames kunt u overal in Azure Databricks query's uitvoeren op weergaven, ervan uitgaande dat u hiervoor toestemming hebt. Het maken van een weergave verwerkt of schrijft geen gegevens. Alleen de querytekst is geregistreerd bij de metastore in het bijbehorende schema.
Notitie
Weergaven kunnen verschillende uitvoeringssemantiek hebben wanneer ze worden ondersteund door gegevensbronnen anders dan Delta-tabellen. Databricks raadt u aan om altijd weergaven te definiëren door te verwijzen naar gegevensbronnen met behulp van een tabel- of weergavenaam. Het definiëren van weergaven op basis van gegevenssets door een pad of URI op te geven, kan leiden tot verwarrende vereisten voor gegevensbeheer.
Gematerialiseerde weergaven
Gematerealiseerde weergaven berekenen en werken de resultaten bij die door de definiërende query worden geretourneerd.
U kunt gerealiseerde weergaven registreren in Unity Catalog met behulp van Databricks SQL of deze definiëren als onderdeel van een Delta Live Tables-pijplijn. Zie Gerealiseerde weergaven gebruiken in Databricks SQL en Wat is Delta Live Tables?.
Tijdelijke weergaven
Een tijdelijke weergave heeft een beperkt bereik en persistentie en is niet geregistreerd bij een schema of catalogus. De levensduur van een tijdelijke weergave verschilt op basis van de omgeving die u gebruikt:
- In notebooks en taken zijn tijdelijke weergaven beperkt tot het notebook- of scriptniveau. Er kan niet naar worden verwezen buiten het notitieblok waarin ze zijn gedeclareerd en niet meer bestaan wanneer het notebook loskoppelt van het cluster.
- In Databricks SQL zijn tijdelijke weergaven beperkt tot het queryniveau. Meerdere instructies binnen dezelfde query kunnen de tijdelijke weergave gebruiken, maar deze kunnen niet worden verwezen in andere query's, zelfs niet binnen hetzelfde dashboard.
Dynamische weergaven
Dynamische weergaven kunnen worden gebruikt om toegangsbeheer op rij- en kolomniveau te bieden, naast gegevensmaskering. Zie Een dynamische weergave maken.
Weergaven in de Hive-metastore (verouderd)
U kunt verouderde Hive-weergaven definiëren voor elke gegevensbron en deze registreren in de verouderde Hive-metastore. Databricks raadt aan om alle verouderde Hive-weergaven te migreren naar Unity Catalog. Zie weergaven in Hive Metastore.
Globale tijdelijke Hive-weergave (verouderd)
Globale tijdelijke weergaven zijn een verouderde Azure Databricks-functie waarmee u een tijdelijke weergave kunt registreren die beschikbaar is voor alle workloads die worden uitgevoerd op een rekenresource. Globale tijdelijke weergaven zijn een nalatenschap van Hive en HDFS. Databricks raadt af om globale tijdelijke weergaven te gebruiken.
Vereisten voor het opvragen van weergaven
Als u weergaven wilt lezen die zijn geregistreerd in Unity Catalog, zijn de vereiste machtigingen afhankelijk van het rekentype, de Databricks Runtime-versie en de toegangsmodus.
Notitie
Voor alle weergaven worden machtigingscontroles uitgevoerd op zowel de weergave zelf als de onderliggende tabellen en weergaven waarop de weergave is gebouwd. De gebruiker waarvan de machtigingen worden gecontroleerd voor onderliggende tabellen en weergaven, is afhankelijk van de computerinfrastructuur. Voor het volgende controleert Unity Catalog de machtigingen van de eigenaar van de weergave op de onderliggende gegevens:
- SQL-magazijnen.
- Gedeelde rekenkracht.
- Enkele gebruiker voert berekeningen uit op Databricks Runtime 15.4 LTS en hoger met fijnmazig toegangsbeheer ingeschakeld.
Voor individueel gebruik op Databricks Runtime 15.3 en lager controleert Unity Catalog zowel de machtigingen van de viewer-eigenaar als de machtigingen van de viewer-gebruiker op de onderliggende gegevens.
Dit gedrag wordt weerspiegeld in de onderstaande vereisten. In beide gevallen moet de eigenaar van de weergave machtigingen voor de onderliggende gegevens behouden om gebruikers toegang te geven tot de weergave.
- Voor alle computerbronnen moet u
SELECT
op de weergave zelf hebben,USE CATALOG
op de bovenliggende catalogus enUSE SCHEMA
op het bovenliggende schema. Dit geldt voor alle rekentypen die ondersteuning bieden voor Unity Catalog, waaronder SQL-warehouses, clusters in de modus voor gedeelde toegang en clusters in de modus voor toegang tot één gebruiker in Databricks Runtime 15.4 en hoger. - Voor clusters bij Databricks Runtime 15.3 en lager die gebruikmaken van de modus voor toegang van één gebruiker, moet u ook
SELECT
hebben voor alle tabellen en weergaven waarnaar de weergave verwijst, naastUSE CATALOG
in hun bovenliggende catalogi enUSE SCHEMA
in hun bovenliggende schema's.
Notitie
Als u een cluster met een enkele gebruiker gebruikt in Databricks Runtime 15.4 LTS en hoger en u wilt voorkomen dat u SELECT
moet hebben voor de onderliggende tabellen en weergaven, controleer dan of uw werkruimte is ingeschakeld voor serverloze computatiediensten.
Serverloze berekening verwerkt gegevensfiltering, waardoor toegang tot een weergave mogelijk is zonder dat hiervoor machtigingen zijn vereist voor de onderliggende tabellen en weergaven. Houd er rekening mee dat er serverloze rekenkosten in rekening worden gebracht wanneer u rekenkracht van één gebruiker gebruikt om query's uit te voeren op weergaven. Voor meer informatie, zie Gedetailleerd toegangsbeheer voor eenpersoonscomputergebruik.