我有一个Firebase,它链接到BigQuery以发送事件数据。 它以旧的分区方式创建表,其中日期是表名的一部分。
Firebase创建具有event_timestamp
和event_date
的架构。
当我查看特定日期的分区时,event_date
与该分区具有相同的日期,但是最小时间戳记从上一个日期的晚上9点开始,并在分区日期的晚上9点之前结束。
在Firebase schema的文档中,event_timestamp
被写为“事件在客户端登录的时间(以微秒为单位,UTC)”。
那么Firebase架构的event_timestamp
,event_date
的时区和分区日期到底是什么?
event_timestamp
是在当地时间写的吗?
答案 0 :(得分:1)
据我从文档中了解到,event_date
和表名遵循您的 firebase 项目配置的时区;和 event_timestamp
遵循 UTC。
当我查看特定日期的分区时,event_date 与分区具有相同的日期,但最小时间戳从前一个日期的晚上 9 点开始,并在分区日期的晚上 9 点之前结束。
如果您使用 TIMESTAMP_MICROS()
查询表TIMESTAMP_MICROS(event_timestamp) as datetime_utc
返回将包含时区信息
2021-05-05 14:26:37.704002+00:00
因此,如果您需要使用本地时间,而不是使用时间戳,而是将其投射到项目的同一时区,您应该没问题。