我正在尝试在 BigQuery 的 AppEngine RequestLog 表之一中使用表装饰器范围。根据文档,日志条目是 LogEntry https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry类型的对象。
有两列时间戳和接收时间戳。第一列描述是“日志条目描述的事件发生的时间”,第二列是“Stackdriver Logging 接收日志条目的时间”。
我尝试使用时间戳列和表装饰器范围比较表查询表中的时间范围和记录数。
查询我在哪里使用时间戳列。
SELECT count(*), MIN( timestamp ), max( timestamp )
FROM [project_id:dataset.appengine_googleapis_com_request_log_20170622]
WHERE timestamp between timestamp('2017-06-22 01:00:00') and
date_add(timestamp('2017-06-22 01:00:00'), 1, 'hour')
查询结果。
1698320 | 2017-06-22 01:00:00 UTC | 2017-06-22 01:59:59 UTC
查询我在哪里使用表装饰器范围。
--select timestamp_to_msec(timestamp('2017-06-22 01:00:00')) as time1,
timestamp_to_msec(date_add(timestamp('2017-06-22 01:00:00'), 1, 'hour')) as time2
SELECT count(*), min(timestamp), max(timestamp)
FROM [project_id:dataset.appengine_googleapis_com_request_log_20170622@1498093200000-1498096800000]
查询结果。
1534754 | 2017-06-22 00:40:45 UTC | 2017-06-22 01:35:59 UTC
我没有得到相同的日期范围和相同数量的记录。这三个时间戳中的每一个是什么意思?以及桌面装饰器系列如何在引擎盖下工作?(BigQuery 是否会在创建表时创建表的快照)