bigquery的time_partitioning_expiration参数如何工作?

ope*_*eek 2 partitioning google-bigquery

我创建了一个分区类型为day的表,并已从命令行工具将time_partitioning_expiration设置为1209600秒(14天)bq。我通过bq show在表上运行来验证设置是否正确,我可以看到

"timePartitioning": {
    "expirationMs": "1209600000", 
    "type": "DAY"
  }, 
  "type": "TABLE"
Run Code Online (Sandbox Code Playgroud)

但是,分区中似乎有一些我希望删除的数据。

SELECT 
  count(*) as c,
  _partitiontime as pDate
FROM [poc.reporting]
group by pDate
; 

1   373800  2016-07-17 00:00:00 UTC  
2   640800  2016-07-18 00:00:00 UTC  
3   373800  2016-07-16 00:00:00 UTC  
Run Code Online (Sandbox Code Playgroud)

我的理解是,设置time_partition_expiration将在内部删除/删除分区吗?如果是这样,为什么我没有删除分区?

小智 5

看起来,Pavan的最高答复中所述的行为已于2016年12月13日更改,并且到期时间现在基于分区日期,而不是上次修改日期。

根据最新文档:

例如,如果分区到期时间设置为60天,并且数据在2017年1月30日写入分区20170101,则数据在2017年1月1日+ 60天到期。

参考:BQ分区表