Поделиться через


CREATE VIEW (конвейерные линии)

Создает виртуальную таблицу без физических данных на основе результируемого набора SQL-запроса в конвейере.

Синтаксис

Ниже описан синтаксис для объявления представлений с помощью SQL:

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

Параметры

  • view_name

    Имя представления. Имя должно быть уникальным в каталоге и схеме, предназначенных для конвейера.

  • view_comment

    Необязательное описание представления.

  • TBLPROPERTIES

    Необязательный список свойств таблицы.

  • query

    Запрос, который создает представление из базовых таблиц или других представлений.

Необходимые разрешения

Пользователь запуска от имени для конвейера должен иметь следующие разрешения, чтобы иметь возможность создать представление:

  • SELECT привилегия на базовые таблицы, на которые ссылается представление.
  • USE CATALOG привилегия в отношении родительского каталога и привилегия USE SCHEMA в отношении родительской схемы.
  • CREATE TABLE привилегия в схеме представления.

Чтобы пользователь мог обновить представление в конвейере, у него должны быть следующие разрешения:

  • USE CATALOG привилегия в отношении родительского каталога и привилегия USE SCHEMA в отношении родительской схемы.
  • Разрешение "MANAGE" для просмотра.
  • SELECT привилегии в базовых таблицах, на которые ссылается представление.

Чтобы пользователь мог запрашивать полученное представление, у него должны быть следующие разрешения:

  • USE CATALOG привилегия в отношении родительского каталога и привилегия USE SCHEMA в отношении родительской схемы.
  • SELECT привилегии на представление.

Ограничения

  • CREATE VIEW доступен только в конвейерах, поддерживающих режим публикации по умолчанию. Конвейеры, использующие схему LIVE (устаревшая версия), не поддерживаются. Дополнительные сведения см. в схеме LIVE (устаревшая версия).
  • Трубопровод должен быть трубопроводом каталога Unity.
  • Ожидания в виде CONSTRAINT условий не поддерживаются.
  • Представления не могут иметь потоковые запросы или использоваться в качестве потокового источника.

Примеры

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