Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
En vy är ett skrivskyddat objekt som är resultatet av en fråga över en eller flera tabeller och vyer i ett Unity Catalog-metaarkiv. Du kan skapa en vy från tabeller och från andra vyer i flera scheman och kataloger.
Den här artikeln beskriver de vyer som du kan skapa i Azure Databricks och ger en förklaring av de behörigheter och den beräkning som krävs för att köra frågor mot dem.
Information om hur du skapar vyer finns i:
- Skapa vyer
- Skapa mätvyer
- Materialiserade vyer
- Dynamiska vyer
Vyer i Unity-katalogen
I Unity Catalog befinner sig vyer på den tredje nivån i ett namnrum med tre nivåer (catalog.schema.view
):
En vy lagrar texten i en fråga vanligtvis mot en eller flera datakällor eller tabeller i metaarkivet. I Azure Databricks motsvarar en vy en Spark DataFrame som sparats som ett objekt i ett schema. Till skillnad från DataFrames kan du fråga vyer var som helst i Azure Databricks, förutsatt att du har behörighet att göra det. När du skapar en vy bearbetas eller skrivs inga data. Endast frågetexten är registrerad i metaarkivet i det associerade schemat.
Kommentar
Vyer kan ha olika körbeteende om de stöds av andra datakällor än Delta-tabeller. Databricks rekommenderar att du alltid definierar vyer genom att referera till datakällor med hjälp av en tabell eller ett visningsnamn. Att definiera vyer mot datauppsättningar genom att ange en sökväg eller URI kan leda till förvirrande krav för datastyrning.
Måttvyer
Måttvyer i Unity Catalog definierar återanvändbara affärsmått som är centralt underhållna och tillgängliga för alla användare på din arbetsyta. En måttvy abstraherar logiken bakom vanliga KPI:er, till exempel intäkter, kundantal eller konverteringsfrekvens, så att de konsekvent kan efterfrågas i instrumentpaneler, notebook-filer och rapporter. Varje måttvy anger en uppsättning mått och dimensioner baserat på en källtabell, vy eller SQL-fråga. Måttvyer definieras i YAML och efterfrågas med hjälp av SQL.
Med hjälp av måttvyer kan du minska inkonsekvenserna i måttdefinitioner som annars kan dupliceras i flera verktyg och arbetsflöden. Se Måttvyer för att lära dig mer.
Materialiserade vyer
Materialiserade vyer beräknar och uppdaterar inkrementellt resultaten som returneras av den definierande frågan. Materialiserade vyer på Azure Databricks är en särskild typ av Delta-tabell. Till skillnad från andra typer av vyer i Azure Databricks som beräknar resultat genom att utvärdera logiken som definierade vyn när den efterfrågas, bearbetar och lagrar materialiserade vyer resultat i en underliggande tabell när uppdateringar bearbetas med antingen ett uppdateringsschema eller genom att köra en pipelineuppdatering.
Du kan registrera materialiserade vyer i Unity Catalog med Databricks SQL eller definiera dem som en del av Lakeflow-deklarativa pipelines. Se Använda materialiserade vyer i Databricks SQL och Lakeflow deklarativa pipeline.
Temporära vyer
En tillfällig vy har begränsad omfattning och beständighet och är inte registrerad i ett schema eller en katalog. Livslängden för en tillfällig vy skiljer sig beroende på vilken miljö du använder:
- I notebook-filer och jobb begränsas tillfälliga vyer till notebook- eller skriptnivå. De kan inte refereras till utanför anteckningsboken där de deklareras och upphör att existera när anteckningsboken kopplas bort från klustret.
- I Databricks SQL begränsas tillfälliga vyer till frågenivån. Flera instruktioner i samma fråga kan använda den temporära vyn, men den kan inte refereras till i andra frågor, inte ens inom samma dashboard.
Dynamiska vyer
Dynamiska vyer kan användas för att tillhandahålla åtkomstkontroll på rad- och kolumnnivå, utöver datamaskering. Se Skapa en dynamisk vy.
Vyer i Hive-metaarkivet (äldre)
Du kan definiera äldre Hive-vyer mot alla datakällor och registrera dem i det äldre Hive-metaarkivet. Databricks rekommenderar att du migrerar alla äldre Hive-vyer till Unity Catalog. Se vyer i Hive-metaarkivet.
Hive global temp view (äldre)
Globala temporära vyer är en äldre Azure Databricks-funktion som gör att du kan registrera en temporär vy som är tillgänglig för alla arbetsbelastningar som körs mot en beräkningsresurs. Globala temporära vyer är en kvarleva från Hive och HDFS. Databricks rekommenderar att du inte använder globala temporära vyer.
Krav för att fråga vyer
Om du vill läsa vyer som är registrerade i Unity Catalog beror de behörigheter som krävs på beräkningstypen, Databricks Runtime-versionen och åtkomstläget.
Kommentar
För alla vyer utförs behörighetskontroller på både själva vyn och de underliggande tabeller och vyer som vyn bygger på. Den användare vars behörigheter kontrolleras för underliggande tabeller och vyer beror på beräkningen. För följande kontrollerar Unity Catalog visningsägarens behörigheter för underliggande data:
- SQL-datalager.
- Standardberäkning (tidigare delad beräkning).
- Dedikerad beräkning (tidigare beräkning av en enskild användare) på Databricks Runtime 15.4 LTS och senare med detaljerad åtkomstkontroll aktiverad.
För dedikerad beräkning på Databricks Runtime 15.3 och nedan kontrollerar Unity Catalog både vyägarens behörigheter och vyanvändarens behörigheter för underliggande data.
Det här beteendet återspeglas i kraven nedan. I båda fallen måste vyägaren behålla behörigheter på den underliggande datan för att vyanvändare ska kunna få åtkomst till vyn.
- För alla beräkningsresurser måste du ha
SELECT
i själva vyn,USE CATALOG
i den överordnade katalogen ochUSE SCHEMA
på dess överordnade schema. Detta gäller för alla beräkningstyper som stöder Unity Catalog, inklusive SQL-lager, kluster i standardåtkomstläge och kluster i dedikerat åtkomstläge på Databricks Runtime 15.4 och senare. - För kluster på Databricks Runtime 15.3 och senare som använder dedikerat åtkomstläge måste du också ha
SELECT
på alla tabeller och vyer som refereras till av vyn, förutomUSE CATALOG
på deras överordnade kataloger ochUSE SCHEMA
på deras överordnade scheman.
Kommentar
Om du använder ett dedikerat kluster på Databricks Runtime 15.4 LTS och senare och vill undvika kravet på att ha SELECT
på de underliggande tabellerna och vyerna kontrollerar du att arbetsytan är aktiverad för serverlös beräkning.
Serverlös beräkning hanterar datafiltrering, vilket ger åtkomst till en vy utan att kräva behörighet för dess underliggande tabeller och vyer. Tänk på att du kan få avgifter för serverlös beräkning när du använder dedikerad beräkning för att fråga vyer. Mer information finns i Detaljerad åtkomstkontroll för dedikerad beräkning.