Introducción a las vistas lógicas
Una vista lógica es una tabla virtual definida por una consulta en SQL y es el tipo de vista predeterminado en BigQuery. Las vistas lógicas te permiten reutilizar consultas complejas y simplificar la lógica de cálculo y unión. Con las vistas autorizadas, también puedes otorgar a los usuarios acceso a un subconjunto de datos sin otorgar acceso a las tablas base.
Debido a que la consulta que define una vista lógica se ejecuta cada vez que se consulta la vista, los resultados solo contienen los datos actuales de las tablas y los campos que especifica la consulta. En este documento, se describen los casos de uso comunes y las limitaciones, las cuotas, los precios y la seguridad de las vistas lógicas.
Casos de uso
Los casos de uso comunes para las vistas incluyen los siguientes:
- Proporcionar un nombre reutilizable para una consulta compleja o un conjunto limitado de datos y, luego, 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 la lógica de cálculo y un subconjunto de datos sin proporcionar acceso a las tablas base
- Optimiza 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:
- Como fuente de datos para una herramienta de visualización, como Data Studio.
- Como un medio para compartir datos con los suscriptores de BigQuery sharing (anteriormente Analytics Hub).
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.
- Si tu vista hace referencia a tablas de ubicaciones remotas, debes habilitar las consultas globales antes de crear la vista.
- 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
TableDataListde la API de JSON para recuperar datos desde una vista. Para obtener más información, consulta Tabledata: list. - No puedes mezclar consultas de GoogleSQL y SQL 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:
- La opción Editar consulta en la consola de Google Cloud
- El comando
bq update --viewen la herramienta de línea de comandos de bq - Las bibliotecas cliente de BigQuery
- Los métodos de la API de actualización o parche.
- No puedes incluir una función temporal definida por el usuario ni una tabla temporal en la consulta en SQL que define una vista.
- No puedes hacer referencia a una vista en una consulta de tabla comodín.
- Las vistas lógicas no pueden heredar ni definir de forma explícita
tipos de datos parametrizados,
como
STRING(n), ya que los tipos de datos parametrizados solo se admiten para las columnas de la tabla base y las variables de secuencia de comandos.
Cuotas de vistas lógicas
Para obtener información sobre las cuotas y los límites que se aplican a las vistas, consulta Límites de vistas. Las consultas en SQL que se usan para definir vistas también están sujetas a las cuotas de los 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.
- Para conocer los precios de las consultas generales, consulta Precios de procesamiento según demanda.
- Para conocer los precios asociados con las vistas materializadas, consulta Precios de las vistas materializadas.
Seguridad de las vistas lógicas
Para controlar el acceso a las vistas en BigQuery, consulta Vistas autorizadas.
¿Qué sigue?
- Para obtener información sobre cómo crear vistas, consulta Crea vistas.
- Para obtener información sobre cómo crear una vista autorizada, consulta Crea vistas autorizadas.
- Para conocer el método sobre cómo obtener metadatos de vistas, consulta Obtén información sobre las vistas.
- Para obtener más información sobre cómo administrar vistas, consulta Administra vistas.