我有一个BigQuery视图,该视图大约需要30秒钟才能运行。我想每天一次在指定时间运行视图并将结果存储在物化表中(例如,以便Data Studio仪表板可以使用该表而无需花费30秒来加载仪表板)
是否有使用诸如dataproc之类的工具来执行此操作的内置方法,还是只需要设置一个可以运行的cronjob即可
CREATE TABLE dataset.materialized_view AS
SELECT *
FROM dataset.view;
定期吗?
答案 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'