Introducción a las vistas lógicas

En este documento, se proporciona una descripción general de la compatibilidad de BigQuery con las vistas lógicas. Una vista es una tabla virtual definida por una consulta en SQL. El tipo de vista predeterminado para BigQuery es una vista lógica. Los resultados de la consulta solo contienen los datos de las tablas y los campos especificados en la consulta que define la vista.

La consulta que define una vista se ejecuta cada vez que se consulta la vista.

Estos son algunos casos de uso comunes de las vistas:

  • Proporcionar un nombre reutilizable para una consulta compleja o un conjunto limitado de datos al que puedes autorizar el acceso de otros usuarios Después de crear una vista, un usuario puede consultarla como lo haría en una tabla.
  • Abstraer y almacenar el cálculo y la lógica de unión en un objeto común para simplificar el uso de consultas
  • Proporcionar acceso a un subconjunto de datos y a la lógica de cálculo sin proporcionar acceso a las tablas base
  • Optimizar las consultas con un costo de procesamiento elevado y resultados con conjuntos de datos pequeños para varios casos de uso

También puedes usar vistas en otros contextos:

Para obtener una comparación de las vistas lógicas, materializadas y autorizadas, consulta Descripción general de las vistas lógicas y materializadas.

Limitaciones de las vistas lógicas

Las vistas de BigQuery están sujetas a las siguientes limitaciones:

  • Las vistas son de solo lectura. Por ejemplo, no puedes ejecutar consultas que inserten, actualicen o borren datos.
  • El conjunto de datos que contiene la vista y el conjunto de datos que contiene las tablas a las que hace referencia la vista deben estar en la misma ubicación.
  • Una referencia dentro de una vista se debe calificar con un conjunto de datos. El conjunto de datos predeterminado no afecta el cuerpo de una vista.
  • No puedes usar el método TableDataList de la API de JSON para recuperar datos desde una vista. Para obtener más información, consulta Tabledata: list.
  • No puedes mezclar consultas de SQL y GoogleSQL heredado cuando se usan vistas. Una consulta de GoogleSQL no puede hacer referencia a una vista definida mediante la sintaxis de SQL heredado.
  • No puedes hacer referencia a parámetros de consulta en vistas.
  • Los esquemas de las tablas subyacentes se almacenan con la vista cuando esta se crea. Si se agregan, borran o cambian columnas después de crear la vista, esta no se actualizará de forma automática y el esquema informado seguirá siendo inexacto hasta que se cambie la definición de SQL de la vista o se vuelva a crear la vista. A pesar de que el esquema informado puede ser inexacto, todas las consultas enviadas producen resultados precisos.
  • No puedes actualizar de forma automática una vista de SQL heredado en la sintaxis de GoogleSQL. Para cambiar la consulta usada para definir una vista, puedes usar lo siguiente:
  • No puedes incluir una función temporal definida por el usuario ni una tabla temporal en la consulta de SQL que define una vista.
  • No puedes hacer referencia a una vista en una consulta de tabla comodín.

Cuotas de vistas lógicas

Para obtener más información sobre las cuotas y los límites que se aplican a las vistas, consulta Límites de vistas. Las consultas de SQL que se usan para definir las vistas también están sujetas a las cuotas en trabajos de consulta.

Precios de las vistas lógicas

BigQuery usa vistas lógicas de forma predeterminada, no vistas materializadas. Dado que las vistas no se materializan de forma predeterminada, la consulta que define la vista se ejecuta cada vez que se consulta. Las consultas se facturan según la cantidad total de datos en todos los campos de la tabla a los que se hace referencia de forma directa o indirecta en la consulta de nivel superior.

Seguridad de las vistas lógicas

Para controlar el acceso a las vistas en BigQuery, consulta Vistas autorizadas.

¿Qué sigue?