Dela via


Skapa och hantera views

Den här artikeln visar hur du skapar views 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 catalog och behörigheterna USE SCHEMA och CREATE TABLE för den överordnade schema. En metaarkivadministratör eller catalog ägare kan grant dig alla dessa privilegier. En schema ägare eller användare med MANAGE behörighet kan grant dig USE SCHEMA och CREATE TABLE behörigheter på schema.
  • Du måste kunna läsa tables och views som refereras i vyn (SELECT på table eller vyn, samt USE CATALOG på catalog och USE SCHEMA på schema).
  • Om en vy refererar till tables i det arbetsytelokala Hive-metaarkivet kan vyn endast nås från arbetsytan som innehåller den arbetsytelokala tables. Därför rekommenderar Databricks att du endast skapar views från tables eller views som finns i metaarkivet Unity Catalog.
  • 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 i själva vyn, USE CATALOG på dess överordnade catalogoch 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 åtkomstläge för en användare i Databricks Runtime 15.4 och senare.
  • För kluster på Databricks Runtime 15.3 och nedåt som använder åtkomstläge för en användare, måste du också ha SELECT på alla tables och views som refereras av vyn, utöver att ha USE CATALOG på deras överordnade catalogs och USE SCHEMA på deras överordnade scheman.

Kommentar

Om du använder ett enanvändarkluster på Databricks Runtime 15.4 LTS och högre och vill undvika kravet på att ha SELECT på den underliggande tables och views, ska du verifiera att arbetsytan är aktiverad för serverlös databehandling.

Serverlös beräkning hanterar datafiltrering, vilket ger åtkomst till en vy utan att kräva behörighet för dess underliggande tables och views. Tänk på att du kan debiteras avgifter för serverlös beräkning när du använder beräkning för en användare för att fråga views. 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ållaren values:

  • <catalog-name>: Namnet på catalog.
  • <schema-name>: Namnet på schema.
  • <view-name>: Ett namn på vyn.
  • <query>: Frågan, columnsoch tables och views 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 columns i sales_rawtable:

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 list av fullständiga namn genom att använda databricks_views.

Ta bort en vy

Du måste vara vyns ägare eller ha MANAGE behörighet på vyn för att ta bort 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;