Condividi tramite


CREATE VIEW (pipeline)

Costruisce una tabella virtuale senza dati fisici basati sul set di risultati di una query SQL in una pipeline.

Sintassi

Di seguito viene descritta la sintassi per dichiarare le viste con SQL:

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

Parametri

  • view_name

    Nome della visualizzazione. Il nome deve essere univoco all'interno del catalogo e dello schema di destinazione della pipeline.

  • view_comment

    Descrizione facoltativa per la visualizzazione.

  • TBLPROPERTIES

    Elenco facoltativo delle proprietà della tabella.

  • query

    Un'interrogazione che costruisce la vista a partire da tabelle di base o altre viste.

Autorizzazioni necessarie

L'utente run-as per la pipeline deve avere le autorizzazioni seguenti per poter creare una visualizzazione:

  • SELECT privilegio sulle tabelle di base a cui fa riferimento la vista.
  • Il privilegio USE CATALOG sul catalogo padre e il privilegio USE SCHEMA sullo schema padre.
  • CREATE TABLE privilegio sullo schema per la visualizzazione.

Affinché un utente possa aggiornare la visualizzazione all'interno della pipeline, deve disporre delle autorizzazioni seguenti:

  • Il privilegio USE CATALOG sul catalogo padre e il privilegio USE SCHEMA sullo schema padre.
  • Autorizzazione MANAGE per la visualizzazione.
  • SELECT privilegi sulle tabelle di base a cui fa riferimento la visualizzazione.

Affinché un utente possa eseguire una query sulla vista risultante, deve disporre delle autorizzazioni seguenti:

  • Il privilegio USE CATALOG sul catalogo padre e il privilegio USE SCHEMA sullo schema padre.
  • SELECT privilegio nella vista.

Limitazioni

  • CREATE VIEW è disponibile solo nelle pipeline che supportano la modalità di pubblicazione predefinita. Le pipeline che usano lo schema LIVE (legacy) non sono supportate. Per altre informazioni, vedere Schema LIVE (legacy).
  • La pipeline deve essere una pipeline del catalogo Unity.
  • Le aspettative, sotto forma di CONSTRAINT clausole, non sono supportate.
  • Le viste non possono avere query di streaming o essere usate come origine di streaming.

Esempi

-- 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;