Actualiza metadatos de una tabla BigQuery: schema (solo adicion de columnas), descripcion y etiquetas. Usa client._client.update_table() del SDK oficial.
bigquery
gcp
table
update
google-cloud
python
false
error_go_core
google-cloud-bigquery
name
desc
client
cliente autenticado BQClient obtenido con bq_auth
name
desc
dataset_id
ID del dataset que contiene la tabla
name
desc
table_id
nombre (ID) de la tabla a actualizar
name
desc
schema
schema completo nuevo (columnas existentes + nuevas al final). BigQuery SOLO permite agregar columnas, no eliminar ni renombrar. None = no modificar
name
desc
description
nueva descripcion de la tabla. None = no modificar
name
desc
labels
nuevas etiquetas clave-valor (reemplaza las existentes). None = no modificar
dict con la metadata actualizada de la tabla (misma estructura que bq_get_table)
false
python/functions/bigquery/tables.py
Ejemplo
frombigqueryimportbq_auth,bq_update_tableclient=bq_auth("mi-proyecto")# Actualizar descripcion y etiquetastabla=bq_update_table(client,"ventas_ds","transacciones",description="Transacciones de ventas — actualizado",labels={"env":"prod","team":"data","version":"2"},)# Agregar columna nueva al schema existentetabla=bq_update_table(client,"ventas_ds","transacciones",schema=[{"name":"id","type":"INTEGER","mode":"REQUIRED"},{"name":"fecha","type":"DATE","mode":"NULLABLE"},{"name":"monto","type":"FLOAT","mode":"NULLABLE"},{"name":"nueva_col","type":"STRING","mode":"NULLABLE"},# nueva],)
Notas
BigQuery tiene restricciones estrictas sobre modificacion de schema: se pueden agregar columnas NULLABLE o REPEATED al final, pero NO se pueden eliminar columnas, renombrar columnas ni cambiar el tipo de una columna existente. Si se necesita ese tipo de cambio, la alternativa es crear una tabla nueva con CREATE TABLE AS SELECT. Los campos None no generan actualizacion — solo se envian al API los campos que cambian.