¿Qué es una vista?
Una vista es el resultado de una consulta en una o varias tablas y vistas en el catálogo de Unity. Una vista es un objeto de solo lectura compuesto por una o varias tablas y vistas en un metastore. Puede crear desde tablas y desde otras vistas en varios esquemas y catálogos.
En este artículo se describen las vistas que puede crear en Azure Databricks.
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 en uno o varios orígenes de datos o tablas del 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 materializadas
Las vistas materializadas calculan y actualizan los resultados devueltos por la consulta de definición.
Puede registrar vistas materializadas en el Catálogo de Unity mediante Databricks SQL o definirlas como parte de una canalización de Delta Live Tables. Consulte Uso de vistas materializadas en Databricks SQL y ¿Qué es Delta Live Tables?.
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 usar la vista temporal, pero no se puede hacer referencia en otras consultas, incluso dentro del mismo panel.
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 una retención heredada de Hive y HDFS. Databricks recomienda usar vistas temporales globales.