如何运行BigQuery查询并将结果定期存储在表格中

时间:2019-02-12 19:27:26

标签: google-bigquery

我有一个BigQuery视图,该视图大约需要30秒钟才能运行。我想每天一次在指定时间运行视图并将结果存储在物化表中(例如,以便Data Studio仪表板可以使用该表而无需花费30秒来加载仪表板)

是否有使用诸如dataproc之类的工具来执行此操作的内置方法,还是只需要设置一个可以运行的cronjob即可

CREATE TABLE dataset.materialized_view AS
SELECT *
FROM dataset.view;

定期吗?

2 个答案:

答案 0 :(得分:2)

您可以使用scheduled queries来实现。

Classic BigQuery UI中(在撰写本文时,正在开发Cloud Console UI支持),在“ Compose Query”文本区域中编写要运行的查询,然后单击“ Schedule Query”按钮。在出现的面板中,您可以选择运行查询的频率;默认值为每24小时一次。

答案 1 :(得分:1)

您可以设置常规的cron作业,该作业运行查询以从您的视图中读取数据并将其写入目标表。根据您的示例,类似:

bq --location=[LOCATION] query -n 0 --destination_table dataset.materialized_view --use_legacy_sql=false --replace=true 'select * from dataset.view'