CREATE VIEW (rörledningar)

Konstruerar en virtuell tabell utan fysiska data baserat på resultatuppsättningen för en SQL-fråga i en pipeline.

Syntax

Följande beskriver syntaxen för att deklarera vyer med SQL:

CREATE VIEW view_name
  [ COMMENT view_comment ]
  [ TBLPROPERTIES ]
  AS query

Parameterar

  • view_name

    Namnet på vyn. Namnet måste vara unikt i katalogen och schemat som pipelinen är inriktad på.

  • view_comment

    En valfri beskrivning för vyn.

  • TBLPROPERTIES

    En valfri lista över tabellegenskaper för tabellen.

  • fråga

    En sökfråga som konstruerar vyn från bastabeller eller andra vyer.

Behörigheter som krävs

Kör som-användaren för pipelinen måste ha följande behörigheter för att kunna skapa en vy:

  • SELECT behörighet till de bastabeller som vyn refererar till.
  • USE CATALOG behörighet i den överordnade katalogen och USE SCHEMA behörighet i det överordnade schemat.
  • CREATE TABLE behörighet i schemat för vyn.

För att en användare ska kunna uppdatera vyn i pipelinen måste de ha följande behörigheter:

  • USE CATALOG behörighet i den överordnade katalogen och USE SCHEMA behörighet i det överordnade schemat.
  • Hantera behörigheter för vy.
  • SELECT behörigheter för de bastabeller som refereras av vyn.

För att en användare ska kunna köra frågor mot den resulterande vyn måste de ha följande behörigheter:

  • USE CATALOG behörighet i den överordnade katalogen och USE SCHEMA behörighet i det överordnade schemat.
  • SELECT behörighet för vyn.

Begränsningar

  • CREATE VIEW är endast tillgängligt i pipelines som stöder standardpubliceringsläget. Pipelines som använder LIVE-schemat (äldre) stöds inte. Mer information finns i LIVE-schema (äldre).
  • Pipelinen måste vara en Unity Catalog-pipeline.
  • Förväntningar i form av CONSTRAINT satser stöds inte.
  • Vyer kan inte ha strömmande förfrågningar eller användas som en strömmande källa.

Examples

-- Create a view from an external data source
CREATE VIEW taxi_raw AS SELECT *
  FROM read_files("/databricks-datasets/nyctaxi/sample/json/");

-- Use a view to create a filtered view:
CREATE VIEW taxi_silver AS SELECT *
  FROM taxi_raw
  WHERE distance > 0.0;