Administra vistas
En este documento, se describe cómo administrar vistas en BigQuery. Puedes administrar tus vistas de BigQuery a través de las operaciones siguientes:
Antes de comenzar
Otorga roles de Identity and Access Management (IAM) que les brindan a los usuarios los permisos necesarios para realizar cada tarea de este documento. Los permisos necesarios para realizar una tarea (si existen) se enumeran en la sección “Permisos necesarios” de la tarea.
Copia vistas
En la actualidad, solo puedes copiar vistas con la consola.
No puedes copiar vistas con la herramienta de línea de comandos de bq
, la API de REST ni las bibliotecas
cliente. En su lugar, debes volver a crear la vista en el
conjunto de datos de destino. Para ayudarte a volver a crear la vista, puedes usar la
herramienta de línea de comandos de bq
a fin de copiar la consulta de SQL de la vista.
Permisos necesarios
Para copiar una vista en la consola, necesitas permisos de IAM en los conjuntos de datos de origen y de destino.
En el conjunto de datos de origen, necesitas lo siguiente:
bigquery.tables.get
bigquery.tables.getData
(obligatorio para acceder a las tablas a las que hace referencia la consulta de SQL de la vista)
En el conjunto de datos de destino, necesitas lo siguiente:
bigquery.tables.create
(te permite crear una copia de la vista en el conjunto de datos de destino)
Cada una de las siguientes funciones predefinidas de IAM incluye los permisos que necesitas para copiar una vista:
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
Además, si tienes el permiso bigquery.datasets.create
, puedes copiar vistas en los conjuntos de datos que crees. También necesitas acceso al conjunto de datos de destino, a menos que tú lo hayas creado.
Para obtener más información sobre los roles y los permisos de IAM en BigQuery, consulta Funciones y permisos predefinidos.
Copiado de una vista
Para copiar una vista, sigue estos pasos:
Console
En el panel Explorador, expande tu proyecto y conjunto de datos y, luego, selecciona la vista.
En el panel de detalles, haz clic en Copiar vista.
En el cuadro de diálogo Copiar vista (Copy view), sigue estos pasos:
- En la sección Fuente (Source), verifica que el Nombre de proyecto (Project name), el Nombre del conjunto de datos (Dataset name) y el Nombre de la tabla (Table name) sean correctos.
En la sección Destino (Destination) sigue estos pasos:
- En Nombre del proyecto (Project name), elige el proyecto en el que copiarás la vista.
- En Nombre del conjunto de datos (Dataset name), elige el conjunto de datos que contendrá la vista copiada.
- En Nombre de la tabla (Table name), ingresa el nombre de la vista. Puedes renombrar la vista si ingresas un nombre de vista nuevo en el cuadro. Si ingresas un nombre nuevo, debes seguir las reglas de nombres de las vistas.
Haz clic en Copiar.
bq
La herramienta de línea de comandos de bq
no admite la copia de vistas. En su lugar, debes volver a crear la vista en el conjunto de datos de destino. A fin de ayudarte a volver a crear la vista, puedes copiar la consulta de SQL que usaste para definir la vista.
Para copiar la consulta de SQL que define una vista, emite el comando bq show
. La marca --format
se puede usar para controlar el resultado. Si obtienes información sobre una vista en un proyecto que no sea tu proyecto predeterminado, agrega el ID del proyecto al conjunto de datos en el formato siguiente: project_id:dataset
. Para escribir las propiedades de la vista en un archivo, agrega > path_to_file
al comando.
bq show \ --format=prettyjson \ project_id:dataset.view > path_to_file
En el ejemplo anterior, se ilustra lo siguiente:
- project_id es el ID del proyecto.
- dataset es el nombre del conjunto de datos.
- view es el nombre de la vista.
- path_to_file es la ruta al archivo de salida en tu máquina local.
Ejemplos:
Ingresa el siguiente comando para mostrar información sobre myview
en mydataset
. mydataset
está en tu proyecto predeterminado.
bq show --format=prettyjson mydataset.myview
Ingresa el siguiente comando para mostrar información sobre myview
en mydataset
. mydataset
está en myotherproject
, no en tu proyecto predeterminado.
Las propiedades de la vista se escriben en un archivo local: /tmp/myview.json
.
bq show \
--format=prettyjson \
myotherproject:mydataset.myview > /tmp/myview.json
API
La API de REST no admite la copia de vistas. En su lugar, debes volver a crear la vista en el conjunto de datos de destino. Para obtener información sobre cómo crear una vista con la API de REST, consulta Crea vistas.
Cambio de nombre una vista
En la actualidad, puedes cambiar el nombre de una vista solo cuando usas la consola para copiar vistas. Si deseas obtener instrucciones para renombrar una vista cuando la copias, consulta Copia una vista.
No se puede cambiar el nombre de una vista existente con la herramienta de línea de comandos de bq
, la API
ni las bibliotecas cliente. En su lugar, debes volver a crear la vista con el nombre nuevo.
Borra vistas
Puedes eliminar una vista mediante:
- Usa Console
- Usar el comando
bq rm
de la herramienta de línea de comandos debq
- Con una llamada al método
tables.delete
de la API
Actualmente, con cualquiera de los métodos disponibles, solo puedes borrar una vista a la vez.
Para borrar vistas de manera automática tras un período especificado, debes configurar la fecha de vencimiento predeterminada a nivel de conjunto de datos o configurarla cuando crees la vista.
Cuando borras una vista autorizada, la eliminación de la vista borrada de la vista autorizada de este conjunto de datos puede tardar hasta 24 horas.
Permisos necesarios
Para borrar una tabla, necesitas los siguientes permisos de IAM:
bigquery.tables.delete
bigquery.tables.get
Cada una de las siguientes funciones predefinidas de IAM incluye los permisos que necesitas para borrar una tabla:
roles/bigquery.dataOwner
roles/bigquery.dataEditor
roles/bigquery.admin
Además, si tienes el permiso bigquery.datasets.create
, puedes borrar vistas en los conjuntos de datos que crees.
Para obtener más información sobre los roles y los permisos de IAM en BigQuery, consulta Funciones y permisos predefinidos.
Borrar una vista
Para borrar una vista, haz lo siguiente:
Console
En la consola, ve a la página BigQuery.
En el panel Explorador, expande tu proyecto y conjunto de datos y, luego, selecciona la vista.
En el panel de detalles, haz clic en Borrar vista.
Escribe
"delete"
en el diálogo y haz clic en Borrar para confirmar.
SQL
Usa la sentencia DROP VIEW
:
En la consola, ve a la página BigQuery.
En el editor de consultas, ingresa la siguiente sentencia:
DROP VIEW mydataset.myview;
Haz clic en
Ejecutar.
Si deseas obtener más información sobre cómo ejecutar consultas, visita Ejecuta consultas interactivas.
bq
Usa el comando bq rm
con la marca --table
(o la combinación de teclas -t
) para borrar una vista. Cuando usas la herramienta de línea de comandos de bq
para quitar una vista, debes confirmar la acción.
Puedes usar la marca --force
(o la combinación de teclas -f
) para omitir la confirmación.
Si la vista se encuentra en un conjunto de datos de un proyecto distinto a tu proyecto predeterminado, debes agregar el ID del proyecto al nombre del conjunto de datos en el siguiente formato: project_id:dataset
.
bq rm \ -f \ -t \ project_id:dataset.view
En el ejemplo anterior, se ilustra lo siguiente:
- project_id es el ID del proyecto.
- dataset es el nombre del conjunto de datos que contiene la tabla.
- view es el nombre de la vista que vas a borrar.
Ejemplos:
Puedes usar la herramienta de línea de comandos de bq
para ejecutar los comandos de bq
.
En la consola, activa Cloud Shell.
Ingresa el siguiente comando para borrar myview
de mydataset
. mydataset
está en tu proyecto predeterminado.
bq rm -t mydataset.myview
Ingresa el siguiente comando para borrar myview
de mydataset
. mydataset
está en myotherproject
, no en tu proyecto predeterminado.
bq rm -t myotherproject:mydataset.myview
Ingresa el siguiente comando para borrar myview
de mydataset
. mydataset
está en tu proyecto predeterminado. El comando usa la combinación de teclas -f
para omitir la confirmación.
bq rm -f -t mydataset.myview
API
Llama al método tables.delete
de la API y especifica la vista que deseas borrar con el parámetro tableId
.
C#
Antes de probar este ejemplo, sigue las instrucciones de configuración para C# incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de C# de BigQuery.
Go
Antes de probar este ejemplo, sigue las instrucciones de configuración para Go incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Go de BigQuery.
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la Documentación de referencia de la API de Node.js de BigQuery.
PHP
Antes de probar este ejemplo, sigue las instrucciones de configuración para PHP que se encuentran en la Guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de PHP de BigQuery.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración para Python incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Python de BigQuery.
Ruby
Antes de probar este ejemplo, sigue las instrucciones de configuración para Ruby incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. A fin de obtener más información, consulta la documentación de referencia de la API de BigQuery para Ruby.
Ver la seguridad
Para controlar el acceso a las vistas de BigQuery, consulta Controla el acceso a las vistas.
¿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 obtener información sobre las vistas de listado, consulta Enumera vistas.
- 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 actualizar vistas, consulta Actualiza vistas.