BigQuery - 时间戳偏移不适用于 insertAll / Streaming?

Posted

技术标签:

【中文标题】BigQuery - 时间戳偏移不适用于 insertAll / Streaming?【英文标题】:BigQuery - timestamp offset not working with insertAll / Streaming? 【发布时间】:2014-04-04 14:32:36 【问题描述】:

我正在使用 python bigquery api。我正在将数据流式传输到表中,并希望将数据记录生成时间戳存储在 UTC 和生成数据的本地时间中。

我正在传递以下内容:

...
"timestamp_utc": "2014-04-04 09:01:10.762137+00:00",
"timestamp_local_time": "2014-04-04 11:01:10.762137+02:00",
...

这两个结果都会生成时间存储为 09:01:10 UTC 的列。这是一个已知的限制还是我做错了什么?

【问题讨论】:

【参考方案1】:

Bigquery 时间戳时间不记录时区。输入时间始终转换为 UTC 并以 UTC 格式存储。查询和表读取将时间戳作为 unix 时间戳返回,表示为自 1970-01-01 00:00:00 UTC 纪元以来的浮点秒数。 Web UI 始终以 UTC 时区呈现时间。

所以总结一下,就 BigQuery 时间戳类型而言,您的示例中的两次是等效的。

【讨论】:

你确定吗?这是一个大查询的测试表查询的csv结果,由浏览器工具输出:id,time2,2014-04-04 11:56:59.405726+02:00 你的答案是正确的!我不小心将测试表中的时间列创建为字符串。

以上是关于BigQuery - 时间戳偏移不适用于 insertAll / Streaming?的主要内容,如果未能解决你的问题,请参考以下文章

BigQuery 在解析时无法识别时区

在 BigQuery SQL for Data Studio 中格式化 Firestore 时间戳

在 BigQuery SQL for Data Studio 中格式化 Firestore 时间戳

BigQuery“复制表”不适用于小表

BigQuery 自动检测不适用于不一致的 json?

JSON_EXTRACT 不适用于 BigQuery 中的布尔值