Dela via


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örigheterna USE SCHEMA och CREATE TABLE för det överordnade schemat. En metaarkivadministratör eller katalogägaren kan ge dig alla dessa privilegier. En schemaägare kan ge dig USE SCHEMA och CREATE TABLE behörigheter för schemat.
  • Du måste kunna läsa tabellerna och vyerna som refereras i vyn (SELECT i tabellen eller vyn, samt USE CATALOG i katalogen och USE 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 och USE 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örutom USE CATALOG i deras överordnade kataloger och USE 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;