北京时间10月10日原始数据
以下数据未降采样过,一小时插一条,共22条:
部分已降采样
从上面看,15:54之后的还没降采样,应属另一个索引,降采样这条索引(2024.10.09-000002)的 end_time应在15:54 之前,结果就是是如此:
可以看出,北京时间14:59 前的数据都已降采样,降采样后数据落在 2024-10-10 08:00 的有5条,这与原始数据对得上,如图:
北京时间10月10日08:00 前还有 8条数据,这8条肯定也属于 2024.10.09-000002 索引里的,但是按UTC 00::00:00降采样后被归到北京时间的10月9日去了,且@timestamp用了这条索引的 start_time:
因此,这里的17条数据有8条出错了,还有9条等下再分析。
这里还可以看出,一条索引降采样后会有两个时间点的数据,一个对应索引 start_time,另一个对应 UTC 00:00:00。
继续分析刚才的9条,从下面的原始数据看,他们确实属于10月9日:
结论
ElasticSearch 按 UTC 00:00:00 来降采样,对应北京时间 08:00:00,导致降采样后0-8点的数据会被错误的降到昨天去,存在8小时偏差。