es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Ejecutar los resultados de la consulta con CTE para crear automáticamente una tabla con la posibilidad de actualizar la tabla creada diariamente en BigQuery.

Tengo la siguiente consulta que se ejecuta en BigQuery. Estoy usando CTEs para definir las tablas A y B, las cuales luego se unen y consultan.
Estoy satisfecho con los resultados que obtengo, pero me gustaría agregar componentes a la consulta que guarden automáticamente los resultados en una nueva tabla en una ubicación deseada. Con una posible solución, ¿cuáles son las opciones para actualizar automáticamente la tabla recién creada diariamente?


Con A como ( select atb.some_thing as a_field, atb.somethingelse as a_otherfield from `project.dataset.atable` AS atb ), B AS ( select bt.some_thing as b_field from `project.dataset.btable` AS bt ) select A.a_field, A.a_otherfield, B.b_field from A left join B on A.a_field = B.b_field
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para guardar automáticamente los resultados de la consulta anterior en una nueva tabla en una ubicación deseada, podemos modificar la consulta de la siguiente manera:


    Con A como ( select atb.algo_campo as a_campo, atb.otra_cosa as a_otrocampo from `project.dataset.unatabla` AS atb ), B AS ( select bt.algo_campo as b_campo from `project.dataset.otratabla` AS bt ) select A.a_campo, A.a_otrocampo, B.b_campo from A left join B on A.a_campo = B.b_campo INTO `project.dataset.nuevatabla` OPTIONS( expiration_timestamp=TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL 7 DAY), description="tabla recién creada" )

    En la consulta anterior, hemos añadido la cláusula INTO para especificar la tabla de destino donde se guardarán los resultados de la consulta. También hemos añadido la cláusula OPTIONS para añadir algunas configuraciones adicionales a la tabla de destino, como expiration_timestamp y description.

    Para actualizar automáticamente la tabla recién creada diariamente, podemos utilizar BigQuery Scheduled Queries. Podemos crear una consulta programada que ejecute la consulta anterior una vez al día y guarde el resultado en la misma tabla de destino. Esto sobrescribirá los datos previamente guardados con los datos actualizados.

    Para crear una consulta programada, podemos seguir estos pasos:

    1. Abrir la interfaz web de BigQuery y navegar hasta la página de Cloud Scheduler.
    2. Crear un nuevo trabajo y seleccionar “BigQuery” como objetivo.
    3. Configurar el trabajo para ejecutar la consulta modificada anteriormente, especificando la tabla de destino y el horario deseado (por ejemplo, diario).
    4. Guardar el trabajo.

    Una vez guardado el trabajo, BigQuery ejecutará automáticamente la consulta según el horario y actualizará los datos en la tabla de destino.

Comments are closed.