查询_分区时间仅产生日期



我试图在我的摄入时间分区表中查询_partitionTime。这样做后,我意识到每行都产生了一个不正确的时间戳:2019-02-25 00:00:00 UTC。我试图提取_分区时间的特定"零件",但所有这些都不包括日期。

尽管数据流入表中,但实际上每10分钟左右将其插入(据我了解)。作为后续问题,_分区时间何时计算?我看到了这篇文章,但我只能理解流量,而不是在实际计算时。

_PARTITIONTIME更像是 _PARTITIONDATE-您不应该期望它包含记录流的确切时间,但是分区属于。

摄入时间分区表包括一个名为_partitionTime的伪列,该列包含一个基于日期的时间戳,用于加载到表中的数据。https://cloud.google.com/bigquery/docs/partitioned-tables

截至2020年9月21日,每小时的时间分配功能为ga。对于按小时划分的表,默认情况下,BQ插入将写入分区小时00,除非在插入/摄入时间明确指定要写入的分区。可以使用$YYYYMMDDHH或沿SQL语句的行指定分区:

INSERT INTO
  project_id.dataset.mytable (
    _PARTITIONTIME,
    field1,
    field2)
SELECT
  TIMESTAMP_TRUNC(TIMESTAMP "2008-12-25 15:30:00+00", HOUR, "UTC"),
  1,
  "one"

最新更新