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örigheternaUSE SCHEMA
ochCREATE TABLE
för den överordnade schema. En metaarkivadministratör eller catalog ägare kan grant dig alla dessa privilegier. En schema ägare eller användare medMANAGE
behörighet kan grant digUSE SCHEMA
ochCREATE TABLE
behörigheter på schema. - Du måste kunna läsa tables och views som refereras i vyn (
SELECT
på table eller vyn, samtUSE CATALOG
på catalog ochUSE 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 catalogochUSE 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 haUSE CATALOG
på deras överordnade catalogs ochUSE 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_raw
table:
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;