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


Создание представлений и управление ими

В этой статье показано, как создавать представления в каталоге Unity. См . представление?.

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

Чтобы создать представление, выполните приведенные действия.

  • Необходимо иметь разрешения USE CATALOG на родительский каталог и USE SCHEMA и CREATE TABLE разрешения на родительскую схему. Администратор хранилища метаданных или владелец каталога может предоставить вам все эти привилегии. Владелец схемы или пользователь с привилегией MANAGE может предоставить вам привилегии USE SCHEMA и CREATE TABLE в схеме.
  • Вы должны иметь возможность читать таблицы и представления, на которые ссылается представление (SELECT в таблице или представлении, а также USE CATALOG в каталоге и USE SCHEMA на схеме).
  • Если представление ссылается на таблицы в хранилище метаданных Hive для рабочей области, представление можно получить только из рабочей области, содержащей локальные таблицы рабочей области. По этой причине Databricks рекомендует создавать представления только из таблиц или представлений, которые находятся в хранилище метаданных каталога Unity.
  • Невозможно создать представление, которое ссылается на представление, которое было предоставлено вам совместно с помощью разностного общего доступа. См. раздел "Что такое разностный общий доступ?".

Для чтения представления необходимые разрешения зависят от типа вычислений, версии Databricks Runtime и режима доступа. См. Требования к запросам представлений.

Создание представления

Чтобы создать представление, выполните следующую команду SQL. Элементы в квадратных скобках являются необязательными. Замените значения заполнителей:

  • <catalog-name>: имя каталога.
  • <schema-name>: имя схемы.
  • <view-name> — имя представления.
  • <query>: запрос, столбцы, а также таблицы и представления, используемые для создания представления.
CREATE VIEW <catalog-name>.<schema-name>.<view-name> AS
SELECT <query>;

Например, чтобы создать представление с именем sales_redacted из столбцов в таблице sales_raw:

CREATE VIEW sales_metastore.sales.sales_redacted AS
SELECT
  user_id,
  email,
  country,
  product,
  total
FROM sales_metastore.sales.sales_raw;

Вы также можете создать представление с помощью поставщика Databricks Terraform и databricks_table. Список полных имен можно получить с помощью databricks_views.

Удаление представления

Вы должны быть владельцем представления или иметь права MANAGE в представлении, чтобы удалить представление. Чтобы удалить представление, выполните следующую команду SQL:

DROP VIEW IF EXISTS catalog_name.schema_name.view_name;