【发布时间】:2022-01-20 02:16:38
【问题描述】:
我有一个记录表,其中包含需要处理的原始数据,有时需要设置目标表以避免资源错误。
目前我正在使用 BigQuery 视图来处理结果并将结果保存在另一个 BigQuery 表中,并设置了计划查询以覆盖该表。
随着数据量的增长,我发现成本越来越高,我该如何以更高效/更好的实践来构建它以节省成本?
我目前的 BigQuery View 脚本逻辑是这样的:
with latest_timestamp as(
select max(timestamp) latest from persist_table
),
select col1, col2, col3 from logging_table where timestamp >= (select latest from latest_timestamp)
union all
select * from persist_table where timestamp < (select latest from latest_timestamp)
我必须使用时间戳,因为时间戳是分区列,以避免结果中出现重复/丢失的数据。 不确定是否有其他更好的方法可以做到这一点,所以我愿意接受任何建议。
【问题讨论】:
标签: sql google-bigquery bigdata