Delen via


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 in Unity Catalog

In Unity Catalog bevinden weergaven zich op het derde niveau van de naamruimte op drie niveaus (catalog.schema.view):

objectmodeldiagram van Unity Catalog, gericht op weergave

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 en USE 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, naast USE CATALOG in hun bovenliggende catalogi en USE 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.