Compartir vía


Creación y administración de vistas

En este artículo se muestra cómo crear vistas en el catálogo de Unity. Vea ¿Qué es una vista?.

Permisos necesarios

Para crear una vista:

  • Debe tener el permiso USE CATALOG sobre el catálogo principal y los permisos USE SCHEMA y CREATE TABLE sobre el esquema principal. Un administrador de metastore o el propietario del catálogo puede concederle todos estos privilegios. Un propietario o usuario de esquema con el privilegio de MANAGE puede concederle privilegios USE SCHEMA y CREATE TABLE en el esquema.
  • Debe tener la capacidad de leer las tablas y vistas a las que se hace referencia en la vista (SELECT en la tabla o vista, así como USE CATALOG en el catálogo y USE SCHEMA en el esquema).
  • Si una vista hace referencia a tablas en el metastore de Hive local del área de trabajo, solo se podrá acceder a la vista desde el área de trabajo que contenga las tablas locales del área de trabajo. Por este motivo, Databricks recomienda la creación de vistas solo desde tablas o vistas que se encuentren en el metastore de Unity Catalog.
  • No puede crear una vista que haga referencia a una vista que se haya compartido con usted mediante Delta Sharing. Consulte ¿Qué es Delta Sharing?

Para leer una vista, los permisos necesarios dependen del tipo de proceso, la versión de Databricks Runtime y el modo de acceso. Consulta Requisitos para consultar vistas.

Creación de una vista

Para crear una vista, ejecute el siguiente comando SQL. Los elementos entre corchetes son opcionales. Reemplace los valores de marcador de posición:

  • <catalog-name>: El nombre del catálogo.
  • <schema-name>: nombre del esquema.
  • <view-name>: nombre de la vista.
  • <query>: la consulta, las columnas, las tablas y las vistas que se usan para componer la vista.
CREATE VIEW <catalog-name>.<schema-name>.<view-name> AS
SELECT <query>;

Por ejemplo, para crear una vista llamada sales_redacted a partir de las columnas de la tabla sales_raw:

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

También puede crear una vista mediante el proveedor Terraform de Databricks y databricks_table. Puede recuperar una lista de nombres completos de vista mediante databricks_views.

Quitar una vista

Debes ser el propietario de la vista o tener el privilegio MANAGE en para quitar una vista. Para colocar una vista, ejecute el siguiente comando SQL:

DROP VIEW IF EXISTS catalog_name.schema_name.view_name;