Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Una vista es un objeto de solo lectura que es el resultado de una consulta sobre una o varias tablas y vistas en un metastore del Unity Catalog. Puede crear una vista a partir de tablas y de otras vistas en varios esquemas y catálogos.
En este artículo se describen las vistas que puede crear en Azure Databricks y se proporciona una explicación de los permisos y el proceso necesarios para consultarlos.
Para obtener información sobre la creación de vistas, consulte:
Vistas en el catálogo de Unity
En el catálogo de Unity, las vistas se encuentran en el tercer nivel del espacio de nombres de tres niveles (catalog.schema.view):
Una vista almacena el texto de una consulta normalmente sobre uno o varios orígenes de datos o tablas en el metastore. En Azure Databricks, una vista es equivalente a un dataframe de Spark persistente como un objeto en un esquema. A diferencia de DataFrames, puede consultar vistas desde cualquier lugar de Azure Databricks, suponiendo que tenga permiso para hacerlo. La creación de una vista no procesa ni escribe datos. Solo el texto de la consulta se registra en el metastore en el esquema asociado.
Nota:
Las vistas pueden tener una semántica de ejecución diferente si están respaldadas por orígenes de datos distintos de las tablas Delta. Databricks recomienda definir siempre las vistas haciendo referencia a orígenes de datos mediante un nombre de tabla o vista. La definición de vistas en conjuntos de datos especificando una ruta de acceso o un URI puede dar lugar a requisitos confusos de gobernanza de datos.
Vistas de métricas
Las vistas de métricas del catálogo de Unity definen métricas empresariales reutilizables que se mantienen de forma centralizada y son accesibles para todos los usuarios del área de trabajo. Una vista de métricas abstrae la lógica detrás de KPIs usados habitualmente, como ingresos, recuento de clientes o tasa de conversión, de modo que se puedan consultar de manera coherente en tableros, cuadernos e informes. Cada vista de métrica especifica un conjunto de medidas y dimensiones basadas en una tabla de origen, vista o consulta SQL. Las vistas de métricas se definen en YAML y se consultan mediante SQL.
El uso de vistas de métricas ayuda a reducir las incoherencias en las definiciones de métricas que, de lo contrario, podrían duplicarse en varias herramientas y flujos de trabajo. Consulte Vistas de métricas para obtener más información.
Vistas materializadas
Las vistas materializadas calculan y actualizan los resultados devueltos por la consulta de definición. Las vistas materializadas en Azure Databricks son un tipo especial de tabla Delta. Mientras que todas las demás vistas de Azure Databricks calculan los resultados mediante la evaluación de la lógica que definió la vista cuando se consulta, las vistas materializadas procesan los resultados y los almacenan en una tabla subyacente cuando las actualizaciones se procesan mediante una programación de actualización o la ejecución de una actualización de canalización.
Puede registrar vistas materializadas en el catálogo de Unity mediante Databricks SQL o definirlas como parte de las canalizaciones declarativas de Spark de Lakeflow. Consulte Uso de vistas materializadas en Databricks SQL y Canalizaciones Declarativas de Lakeflow Spark.
Vistas temporales
Una vista temporal tiene un ámbito y una persistencia limitados y no está registrado en un esquema o catálogo. La duración de una vista temporal difiere en función del entorno que use:
- En los cuadernos y trabajos, las vistas temporales tienen como ámbito el nivel del cuaderno o script. No se puede hacer referencia a ellos fuera del cuaderno en el que se declaran y ya no existen cuando el cuaderno se desasocia del clúster.
- En Databricks SQL, las vistas temporales tienen el ámbito del nivel de consulta. Varias instrucciones dentro de la misma consulta pueden utilizar la vista temporal, pero no se puede hacer referencia a ella en otras consultas, ni siquiera dentro del mismo panel de control.
Vistas dinámicas
Las vistas dinámicas se pueden usar para proporcionar control de acceso a nivel de fila y columna, además del enmascaramiento de datos. Consulte Creación de una vista dinámica.
Vistas en el metastore de Hive (heredado)
Puede definir vistas heredadas de Hive en cualquier origen de datos y registrarlas en el metastore de Hive heredado. Databricks recomienda migrar todas las vistas heredadas de Hive al catálogo de Unity. Consulte Vistas en metastore de Hive.
Vista temporal global de Hive (heredada)
Las vistas temporales globales son una característica heredada de Azure Databricks que permite registrar una vista temporal disponible para todas las cargas de trabajo que se ejecutan en un recurso de proceso. Las vistas temporales globales son un residuo heredado de Hive y HDFS. Databricks desaconseja el uso de vistas temporales globales.
Requisitos para consultar vistas
Para leer vistas registradas en el Catálogo de Unity, los permisos necesarios dependen del tipo de proceso, la versión de Databricks Runtime y el modo de acceso.
Nota:
Para todas las vistas, las comprobaciones de permisos se realizan en la propia vista y en las tablas y vistas subyacentes en las que se basa la vista. El usuario cuyos permisos se comprueban para las tablas y vistas subyacentes depende del cómputo. En lo siguiente, Unity Catalog comprueba los permisos del propietario de la vista en los datos subyacentes.
- Almacenes de SQL.
- Proceso estándar (anteriormente proceso compartido).
- Proceso dedicado (anteriormente proceso de usuario único) en Databricks Runtime 15.4 LTS y versiones posteriores con el control de acceso específico habilitado.
Para el cómputo dedicado en Databricks Runtime 15.3 y versiones anteriores, el catálogo de Unity comprueba los permisos del propietario de la vista y los permisos del usuario de la vista en los datos subyacentes.
Este comportamiento se refleja en los requisitos que se enumeran a continuación. En cualquier caso, el propietario de la vista debe mantener los permisos en los datos subyacentes para que los usuarios puedan acceder a la vista.
- Para todos los recursos de proceso, debe tener
SELECTen la vista misma,USE CATALOGen su catálogo principal yUSE SCHEMAen su esquema principal. Esto se aplica a todos los tipos de proceso que soportan Unity Catalog, incluidos los almacenes de datos SQL, los clústeres en modo de acceso estándar y los clústeres en modo de acceso dedicado a partir de la versión 15.4 del Databricks Runtime y versiones posteriores. - Para los clústeres en Databricks Runtime 15.3 y versiones posteriores que usan el modo de acceso dedicado, también debe tener
SELECTen todas las tablas y vistas a las que hace referencia la vista, además deUSE CATALOGen sus catálogos primarios yUSE SCHEMAen sus esquemas primarios.
Nota:
Si usa un clúster dedicado en Databricks Runtime 15.4 LTS y versiones posteriores y quiere evitar el requisito de tener SELECT en las tablas y vistas subyacentes, compruebe que el área de trabajo está habilitada para el proceso sin servidor.
El cómputo sin servidor controla el filtrado de datos, lo que permite el acceso a una vista sin necesidad de permisos en las tablas y vistas subyacentes. Tenga en cuenta que puede incurrir en cargos de proceso sin servidor al usar el proceso dedicado para consultar las vistas. Para obtener más información, consulte Control de acceso granular en la computación dedicada.