Google bigquery BigQuery如何在30分钟延迟的情况下保存数小时的数据?
大家好,使用此查询获取项目的所有作业,但假设我在中午12:00运行此查询,它应该获取10:30到11:30之间的数据,但我还没有找到实现此目的的where子句有什么想法吗Google bigquery BigQuery如何在30分钟延迟的情况下保存数小时的数据?,google-bigquery,Google Bigquery,大家好,使用此查询获取项目的所有作业,但假设我在中午12:00运行此查询,它应该获取10:30到11:30之间的数据,但我还没有找到实现此目的的where子句有什么想法吗 SELECT creation_time, start_time, end_time, total_bytes_processed, query FROM `project-
SELECT
creation_time,
start_time,
end_time,
total_bytes_processed,
query
FROM `project-id.region-us.INFORMATION_SCHEMA.JOBS_BY_PROJECT`
where end_time > TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL -1 hour ) AND job_type = "QUERY"
Group BY creation_time, start_time,end_time ,job_id, total_bytes_processed, query
ORDER BY total_bytes_processed DESC
如果当前的_TIMESTAMP()是12,并且您正在查找在10:30到11之间创建的作业,那么您应该使用between运算符
SELECT
creation_time,
start_time,
end_time,
total_bytes_processed,
query
FROM
`YOURPROJECT.region-eu.INFORMATION_SCHEMA.JOBS_BY_PROJECT`
WHERE
end_time BETWEEN TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 90 MINUTE)
AND TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 MINUTE)
AND job_type = "QUERY"
GROUP BY
creation_time,
start_time,
end_time,
job_id,
total_bytes_processed,
query
ORDER BY
total_bytes_processed DESC
10:30和11:30那么会是120分钟30分钟对吧?是的!就这样。您可以通过只运行“选择TIMESTAMP_SUB(CURRENT_TIMESTAMP(),INTERVAL 120 MINUTE)作为时间”来测试这一点