大查询表装饰器绝对时间用法

时间:2018-01-19 12:27:32

标签: sql google-bigquery

我正在尝试查询每日分区数据集访问次数。

这些套装的尺寸非常大,我需要降低BQ成本 我试图使用具有绝对值的快照装饰器来获取数据,因为我已经有了日志的准确时间 在这个例子中,我需要为发生的事件提取日志 2018-01-15 08:34:55 我使用此查询将此时间转换为+ 30 / -30分钟:

SELECT INTEGER(DATE_ADD(USEC_TO_TIMESTAMP(NOW()), time-30, 'MINUTE')/1000)
SELECT INTEGER(DATE_ADD(USEC_TO_TIMESTAMP(NOW()), time+30, 'MINUTE')/1000)

然后我创建了这个查询:

SELECT * FROM [visits_log_20180115@1516007131839-1516003548120]

我收到了一个错误:

  

非法表格ID:visits_log_20180115 @ -1516007131839-1516003548120

但如果我将其更改为:

SELECT * FROM [visits_log_20180115@-1516007131839-1516003548120]

我在全桌扫描后得到一个结果,Google教程来自: https://cloud.google.com/bigquery/table-decorators

没有为这种情况提供示例+值,我想知道它是语法错误还是我错过了绝对时间范围?

1 个答案:

答案 0 :(得分:2)

您应该切换开始和结束,因为目前您的查询是SELECT * FROM [table@end-start],但它应该是SELECT * FROM [table@start-end]

所以,试试

SELECT * FROM [visits_log_20180115@1516003548120-1516007131839]