除了执行时间之外,BigQuery返回完全相同的SELECT Query的不一致(=不同)结果

时间:2015-03-25 02:19:04

标签: google-bigquery

查询为SELECT COUNT(*) FROM [table.click] WHERE time >= DATE_ADD('2015-03-25 06:00:00', -9, 'HOUR') AND time < DATE_ADD('2015-03-25 07:00:00', -9, 'HOUR')

我想获取时间在6到7之间的记录。

[07:25:57] $ bq query "SELECT COUNT(*) FROM [table.click] WHERE time >= DATE_ADD('2015-03-25 06:00:00', -9, 'HOUR') AND time < DATE_ADD('2015-03-25 07:00:00', -9, 'HOUR')"
Waiting on bqjob_r5e92dc9eca9622ed_0000014c4de50d59_1 ... (0s) Current status: DONE
+-----+
| f0_ |
+-----+
|   0 |
+-----+`

但我导入数据的过程已经工作了很长时间,我确认这个过程没有问题(= 6到7之间的流媒体导入效果很好)。

经过10分钟后,我执行了完全相同的查询。

[07:35:15]$ bq query "SELECT COUNT(*) FROM [table.click] WHERE time >= DATE_ADD('2015-03-25 06:00:00', -9, 'HOUR') AND time < DATE_ADD('2015-03-25 07:00:00', -9, 'HOUR')"
Waiting on bqjob_r338acff11f068b44_0000014c4ded45c5_1 ... (2s) Current status: DONE    
+------+
| f0_  |
+------+
| 1954 |
+------+`

这次效果很好!之后,BigQuery一直在返回1954条记录,如下所示。

[10:49:59]$ bq query "SELECT COUNT(*) FROM [table.click] WHERE time >= DATE_ADD('2015-03-25 06:00:00', -9, 'HOUR') AND time < DATE_ADD('2015-03-25 07:00:00', -9, 'HOUR')"
Waiting on bqjob_r5693edc7523c1ca2_0000014c4e9f4f52_1 ... (0s) Current status: DONE    
+------+
| f0_  |
+------+
| 1954 |
+------+`

Google BigQuery same queries give different results是一个类似的问题帖子,但是the BigQuery team做出了回答,问题已经解决,因此我决定发布此问题。

这个问题发生了两次。第一次是2015-03-24 22:00:00 JST ~ 2015-03-24 23:00:00 JST,第二次是2015-03-25 06:00:00 JST ~ 2015-03-25 07:00:00 JST

我附加了一个Google Cloud Status at the time that happened的捕获,显示全局没有BigQuery的系统问题。

Google Cloud Status at the time that happened

1 个答案:

答案 0 :(得分:1)

正如Pentium10指出的那样,你似乎被流数据延迟所困扰。

似乎您的第一个查询在流媒体插件传播到处之前点击了您的数据。这是正常的。似乎不是陈旧数据的问题,正如Pentium所指出的那样,等待流数据后的延迟。 10分钟似乎有点长,但我不知道实际问题在哪里。