Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

915
Vistas
¿Cómo actualizar/eliminar filas en Bigquery desde la API de Python?

Estoy diseñando un trabajo de BigQuery en Python que se actualiza y se inserta en varias tablas. Pensé en dos formas de lograrlo:

  1. ejecute un trabajo de consulta y guarde el resultado en una tabla temporal con un indicador de actualización/inserción y procéselos después. Pero no está claro cómo actualizar con bibliotecas de Python.

  2. cargue todos los datos en una nueva tabla particionada y omita las actualizaciones/inserciones. Ocupa más espacio del que me gustaría, pero la partición caduca en unos días de todos modos.

¿Me estoy perdiendo de algo? ¿Hay otra manera de lograr esto?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Simplemente puede usar declaraciones delenguaje de manipulación de datos (DML) en lugar de consultas SQL cuando usa la API de Google BigQuery .

Por ejemplo, para actualizar filas específicas en la siguiente tabla:

 Inventory +-------------------+----------+--------------------+ | product | quantity | supply_constrained | +-------------------+----------+--------------------+ | dishwasher | 30 | NULL | | dryer | 30 | NULL | | front load washer | 30 | NULL | | microwave | 30 | NULL | +-------------------+----------+--------------------+

podrías usar el siguiente código:

 from google.cloud import bigquery client = bigquery.Client() dml_statement = ( "UPDATE dataset.Inventory " "SET quantity = quantity - 10 " "WHERE product like '%washer%'") query_job = client.query(dml_statement) # API request query_job.result() # Waits for statement to finish

obteniendo los siguientes resultados:

 Inventory +-------------------+----------+--------------------+ | product | quantity | supply_constrained | +-------------------+----------+--------------------+ | dishwasher | 20 | NULL | | dryer | 30 | NULL | | front load washer | 20 | NULL | | microwave | 30 | NULL | +-------------------+----------+--------------------+
over 4 years ago · Santiago Trujillo Denunciar

0

Me tomó un tiempo encontrarlo entre los muchos documentos de Google en la web, así que vale la pena tenerlo aquí, como referencia. La información está aquí .

Y este es un ejemplo mínimo que debería ser fácil de adaptar a cualquier caso de uso:

 import google.cloud.bigquery.dbapi as bq try: con = bq.connect() cursor = con.cursor() query = "<your sql command goes here>" cursor.execute(query) con.commit() con.close() except Exception as e: str(e)
over 4 years ago · Santiago Trujillo Denunciar

0

El método para actualizar campos en python se implementa en la biblioteca idiomática, se llama update_table() . Llama al método de parche de la API de BigQuery.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda