You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在BigQuery中基于timestamp列创建分区表?报错求助

解决BigQuery创建时间分区表的错误问题

嘿,我来帮你搞定这个报错!

你遇到的问题其实是BigQuery对时间分区表的明确规则要求:不能直接用timestamp类型的字段作为分区表达式,必须将timestamp字段转换为DATE类型,也就是用DATE(<timestamp_column>)的形式,这和你收到的错误提示内容完全对应。

修改后的正确SQL

create table myfirstdataset.partition_table1(ts timestamp, transaction_id int64)
partition by date(ts) 
as select timestamp '2013-12-31 01:55:02.000 UTC' ts, 10 transaction_id 
union all 
select timestamp '2013-12-31 02:10:02.000 UTC' ts, 5 transaction_id 
union all 
select timestamp '2013-12-31 04:20:02.000 UTC' ts, 6 transaction_id

简单说明

把partition by ts改成partition by date(ts)后,表就会按照ts字段对应的日期来创建分区。你这三条数据都是2013-12-31的,所以会被分到同一个日期分区里;之后如果有不同日期的数据插入,会自动进入对应的分区,完全符合BigQuery的分区规则。

内容的提问来源于stack exchange,提问作者user444422

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:58:10