En este documento, se describe cómo actualizar las propiedades de vista o metadatos. Después de crear una vista, puedes actualizar las propiedades de vista siguientes:
Permisos necesarios
Como mínimo, para actualizar una vista, debes tener los permisos bigquery.tables.update
y bigquery.tables.get
. Si actualizas la consulta de SQL de la vista, también debes tener permisos para consultar las tablas a las que hace referencia la consulta de SQL de la vista.
Las siguientes funciones predefinidas de IAM incluyen los permisos bigquery.tables.update
y bigquery.tables.get
:
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
Además, si un usuario tiene permisos bigquery.datasets.create
, se le otorga el acceso bigquery.dataOwner
cuando crea un conjunto de datos.
El acceso bigquery.dataOwner
permite al usuario actualizar tablas y vistas en el conjunto de datos.
Para obtener más información sobre las funciones y los permisos de IAM en BigQuery, consulta Funciones y permisos predefinidos.
Actualiza una consulta de SQL de una vista
Puedes actualizar la consulta de SQL que se usa para definir una vista si sigues estos pasos:
- Usa Cloud Console.
- Usar el comando
bq update
de la herramienta de línea de comandos debq
- Llamar al método de la API
tables.patch
- Usa bibliotecas cliente.
Puedes cambiar el dialecto de SQL de SQL heredado a SQL estándar en la API o
en la herramienta de línea de comandos de bq
. No puedes actualizar una vista SQL heredada a SQL estándar en
Cloud Console.
Para actualizar la consulta de SQL de una vista, sigue estos pasos:
Console
En el panel Explorador, expande tu proyecto y conjunto de datos y, luego, selecciona la vista.
Haz clic en la pestaña Detalles.
Por encima del cuadro Consulta, haz clic en el botón Editar consulta. Haz clic en Open (Abrir) en el cuadro de diálogo que aparece.
Edita la consulta de SQL en el cuadro Query editor (Editor de consultas) y, luego, haz clic en Save view (Guardar vista).
Asegúrate de que todos los campos del diálogo Save view (Guardar vista) sean correctos y, luego, haz clic en Save (Guardar).
bq
Ejecuta el comando bq update
con la marca --view
. Si quieres usar SQL estándar o actualizar el dialecto de consulta de SQL heredado a SQL estándar, debes incluir la marca --use_legacy_sql
y establecerla en false
.
Si tu consulta hace referencia a recursos de funciones externas definidas por el usuario almacenadas en Cloud Storage o en archivos locales, usa la marca --view_udf_resource
para especificar esos recursos. La marca --view_udf_resource
no se muestra aquí. Para obtener más información sobre cómo usar UDF, consulta Funciones definidas por el usuario de SQL estándar.
Si actualizas una vista en un proyecto que no es tu proyecto predeterminado, debes agregar el ID del proyecto al nombre del conjunto de datos en el formato siguiente: project_id:dataset
.
bq update \ --use_legacy_sql=false \ --view_udf_resource=path_to_file \ --view='query' \ project_id:dataset.view
En el ejemplo anterior, se ilustra lo siguiente:
- path_to_file es el URI o la ruta de acceso del sistema de archivos local a un archivo de código que se cargará y evaluará de inmediato como un recurso de función definida por el usuario que usa la vista. Repite la marca para especificar varios archivos.
- query es una consulta válida de SQL estándar.
- project_id es el ID del proyecto.
- dataset es un conjunto de datos que contiene la vista.
- view es el nombre de la vista que deseas actualizar.
Ejemplos:
Ingresa el comando siguiente si quieres actualizar la consulta de SQL de una vista llamada myview
en mydataset
. mydataset
está en tu proyecto predeterminado. La consulta de ejemplo que se usa para actualizar los datos de consultas de vista del conjunto de datos públicos Datos de nombres de EE.UU.
bq update \
--use_legacy_sql=false \
--view \
'SELECT
name,
number
FROM
`bigquery-public-data.usa_names.usa_1910_current`
WHERE
gender = "M"
ORDER BY
number DESC' \
mydataset.myview
Ingresa el comando siguiente si quieres actualizar la consulta de SQL de una vista llamada myview
en mydataset
. mydataset
está en myotherproject
, no en tu proyecto predeterminado. La consulta de ejemplo que se usa para actualizar la vista solicita información del conjunto de datos públicos de nombres de EE.UU.
bq update \
--use_legacy_sql=false \
--view \
'SELECT
name,
number
FROM
`bigquery-public-data.usa_names.usa_1910_current`
WHERE
gender = "M"
ORDER BY
number DESC' \
myotherproject:mydataset.myview
API
Puedes actualizar una vista si llamas al método tables.patch
con un recurso de tabla que contiene una propiedad view
actualizada. Debido a que el método tables.update
reemplaza todo el recurso de la tabla, es preferible usar el método tables.patch
.
Go
Antes de probar este ejemplo, sigue las instrucciones de configuración para Go 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 Go de BigQuery.
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java que se encuentran 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 que se encuentran 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.
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.
Actualiza la hora de vencimiento de una vista
Puedes establecer una hora de vencimiento de una tabla predeterminada en el nivel de conjunto de datos (que afecta tanto a las tablas como a las vistas) o puedes establecer la hora de vencimiento de una vista cuando esta se crea. Si estableces el vencimiento cuando se crea la vista, se ignora el vencimiento predeterminado de las tablas del conjunto de datos. Si no estableces un vencimiento de la tabla predeterminada en el nivel de conjunto de datos y no estableces un vencimiento cuando se crea la vista, esta nunca vence y debes borrarla de forma manual.
En cualquier momento posterior a la creación de la vista, puedes actualizar la hora de vencimiento de la vista si sigues estos pasos:
- Usar el comando
bq update
de la herramienta de línea de comandos debq
- Llamar al método de la API
tables.patch
- Con las bibliotecas cliente
Para actualizar el tiempo de vencimiento de una vista, sigue estos pasos:
Console
En el panel de navegación, selecciona la vista.
En la página de detalles de la vista, haz clic en la pestaña Detalles.
A la derecha de Ver información, haz clic en el ícono de edición (lápiz).
En el cuadro de diálogo Información de la vista, en Vencimiento de la vista, haz clic en Especificar fecha.
En el selector de fecha, ingresa la fecha y hora de vencimiento y, luego, haz clic en Aceptar.
Haz clic en Actualizar. La fecha de vencimiento actualizada aparecerá en la sección Información de la vista.
SQL
Las declaraciones del lenguaje de definición de datos (DDL) te permiten crear y modificar tablas y vistas con la sintaxis de consulta de SQL estándar.
Para obtener más información, consulta cómo usar instrucciones del lenguaje de definición de datos.
Para usar una declaración de DDL en Cloud Console, haz lo siguiente:
Haz clic en Redactar consulta nueva.
Escribe tu declaración de DDL en el área de texto Editor de consultas.
ALTER VIEW mydataset.myview SET OPTIONS ( -- Sets view expiration to timestamp 2025-02-03 12:34:56 in the America/Los Angeles time zone expiration_timestamp=TIMESTAMP("2025-02-03 12:34:56", "America/Los Angeles") );
Haga clic en Run query.
bq
Ejecuta el comando bq update
con la marca --expiration
. Si actualizas una vista en un proyecto que no es tu proyecto predeterminado, debes agregar el ID del proyecto al nombre del conjunto de datos en el formato siguiente: project_id:dataset
.
bq update \ --expiration integer \ project_id:dataset.view
En el ejemplo anterior, se ilustra lo siguiente:
- integer es el ciclo de vida predeterminado (en segundos) de la tabla. El valor mínimo es 3,600 segundos (una hora). El vencimiento se evalúa según la suma de la fecha actual y el valor de número entero.
- project_id es el ID del proyecto.
- dataset es el nombre del conjunto de datos que contiene la vista que deseas actualizar.
- view es el nombre de la vista que deseas actualizar.
Ejemplos:
Ingresa el comando siguiente a fin de actualizar la fecha de vencimiento de myview
en mydataset
a 5 días (432,000 segundos). mydataset
está en tu proyecto predeterminado.
bq update --expiration 432000 mydataset.myview
Ingresa el comando siguiente a fin de actualizar la fecha de vencimiento de myview
en mydataset
a 5 días (432,000 segundos). mydataset
está en myotherproject
, no en el proyecto predeterminado.
bq update --expiration 432000 myotherproject:mydataset.myview
API
Realiza una llamada al método tables.patch
y usa la propiedad expirationTime
en el recurso de tabla. Debido a que el método tables.update
reemplaza todo el recurso de la tabla, es preferible usar el método tables.patch
. Cuando usas la API de REST, el vencimiento de la vista se expresa en milisegundos.
Go
Antes de probar este ejemplo, sigue las instrucciones de configuración para Go 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 Go de BigQuery.
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java que se encuentran 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 que se encuentran 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.
Python
El proceso para actualizar el vencimiento de una vista es el mismo que se usa para actualizar el vencimiento de una tabla.
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.
Actualiza la descripción de una vista
Puedes actualizar la descripción de una vista si sigues estos pasos:
- Usa Cloud Console.
- Usar el comando
bq update
de la herramienta de línea de comandos debq
- Llamar al método de la API
tables.patch
- Con las bibliotecas cliente
Para actualizar la descripción de una vista, sigue estos pasos:
Console
Cuando creas una vista con Cloud Console, no puedes agregar una descripción. Después de crear la vista, puedes agregar una descripción en la página Detalles.
En el panel Explorador, expande tu proyecto y conjunto de datos y, luego, selecciona la vista.
Haz clic en la pestaña Detalles.
Haz clic en el ícono de lápiz junto a Description (Descripción).
Ingresa una descripción en el cuadro de diálogo. Haz clic en Actualizar para guardar la descripción nueva.
SQL
Las declaraciones del lenguaje de definición de datos (DDL) te permiten crear y modificar tablas y vistas con la sintaxis de consulta de SQL estándar.
Para obtener más información, consulta cómo usar instrucciones del lenguaje de definición de datos.
Para usar una declaración de DDL en Cloud Console, haz lo siguiente:
Haz clic en Redactar consulta nueva.
Escribe tu declaración de DDL en el área de texto Editor de consultas.
ALTER VIEW mydataset.myview SET OPTIONS ( description="Description of myview" );
Haga clic en Run query.
bq
Ejecuta el comando bq update
con la marca --description
. Si actualizas una vista en un proyecto que no es tu proyecto predeterminado, debes agregar el ID del proyecto al nombre del conjunto de datos en el formato siguiente: [PROJECT_ID]:[DATASET]
.
bq update \ --description "description" \ project_id:dataset.view
En el ejemplo anterior, se ilustra lo siguiente:
- description es el texto que describe la vista entre comillas.
- project_id es el ID del proyecto.
- dataset es el nombre del conjunto de datos que contiene la vista que deseas actualizar.
- view es el nombre de la vista que deseas actualizar.
Ejemplos:
Ingresa el comando siguiente para cambiar la descripción de myview
en mydataset
a “Descripción de mi vista” (Description of myview). mydataset
está en tu proyecto predeterminado.
bq update --description "Description of myview" mydataset.myview
Ingresa el comando siguiente para cambiar la descripción de myview
en mydataset
a “Descripción de mi vista” (Description of myview). mydataset
está en myotherproject
, no en el proyecto predeterminado.
bq update \
--description "Description of myview" \
myotherproject:mydataset.myview
API
Realiza una llamada al método tables.patch
y usa la propiedad description
para actualizar la descripción de la vista en el recurso de tabla. Debido a que el método tables.update
reemplaza todo el recurso de la tabla, es preferible usar el método tables.patch
.
Go
Antes de probar este ejemplo, sigue las instrucciones de configuración para Go 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 Go de BigQuery.
Java
El proceso para actualizar la descripción de una vista es el mismo que se usa para actualizar la de una tabla.
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java que se encuentran 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 que se encuentran 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.
Python
El proceso para actualizar la descripción de una vista es el mismo que se usa para actualizar la de una tabla.
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.
Próximos pasos
- Si quieres obtener más información sobre la administración de vistas, incluso su copia y borrado, consulta Administra vistas.
- 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.