Skapa och hantera vyer
Den här artikeln visar hur du skapar vyer i Unity Catalog. Se Vad är en vy?.
Behörigheter som krävs
Så här skapar du en vy:
- Du måste ha behörigheten
USE CATALOG
för den överordnade katalogen och behörigheternaUSE SCHEMA
ochCREATE TABLE
för det överordnade schemat. En metaarkivadministratör eller katalogägaren kan ge dig alla dessa privilegier. En schemaägare kan ge digUSE SCHEMA
ochCREATE TABLE
behörigheter för schemat. - Du måste kunna läsa tabellerna och vyerna som refereras i vyn (
SELECT
i tabellen eller vyn, samtUSE CATALOG
i katalogen ochUSE SCHEMA
i schemat). - Om en vy refererar till tabeller i det arbetsytelokala Hive-metaarkivet kan vyn endast nås från arbetsytan som innehåller de arbetsytelokala tabellerna. Därför rekommenderar Databricks att du endast skapar vyer från tabeller eller vyer som finns i Unity Catalog-metaarkivet.
- Du kan inte skapa en vy som refererar till en vy som har delats med dig med deltadelning. Se Vad är deltadelning?.
Om du vill läsa en vy beror de behörigheter som krävs på beräkningstypen, Databricks Runtime-versionen och åtkomstläget:
- För alla beräkningsresurser måste du ha
SELECT
på 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 läget för delad åtkomst och kluster i enkel användaråtkomstläge på Databricks Runtime 15.4 och senare. - För kluster på Databricks Runtime 15.3 och senare som använder enkel användaråtkomstläge måste du också ha
SELECT
på alla tabeller och vyer som refereras till av vyn, förutomUSE CATALOG
i deras överordnade kataloger ochUSE SCHEMA
i deras överordnade scheman.
Kommentar
Om du använder ett kluster med en användare 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 debiteras serverlösa beräkningsavgifter när du använder beräkning med en användare för att köra frågor mot vyer. Mer information finns i Detaljerad åtkomstkontroll för beräkning av enskilda användare.
Skapa en vy
Kör följande SQL-kommando för att skapa en vy. Objekt inom hakparenteser är valfria. Ersätt platshållarvärdena:
<catalog-name>
: Namnet på katalogen.<schema-name>
: Namnet på schemat.<view-name>
: Ett namn på vyn.<query>
: Frågan, kolumnerna och tabellerna och vyerna som används för att skapa vyn.
CREATE VIEW <catalog-name>.<schema-name>.<view-name> AS
SELECT <query>;
Om du till exempel vill skapa en vy med namnet sales_redacted
från kolumner i sales_raw
tabellen:
CREATE VIEW sales_metastore.sales.sales_redacted AS
SELECT
user_id,
email,
country,
product,
total
FROM sales_metastore.sales.sales_raw;
Du kan också skapa en vy med hjälp av Databricks Terraform-providern och databricks_table. Du kan hämta en lista över fullständiga namn med hjälp av databricks_views.
Ta bort en vy
Du måste vara vyns ägare för att kunna släppa en vy. Om du vill släppa en vy kör du följande SQL-kommando:
DROP VIEW IF EXISTS catalog_name.schema_name.view_name;