我的 table 是否根据我的日期时间列正确分区?
Is my table partitioned correctly based on my datetime column?
我有一个 分区的 table,其中的日期时间列 如下所示:
日期时间列包括日期、小时、分钟和秒,每一行都有不同的日期时间列(区别主要在于秒、分钟和小时)
table 在 datetime 列上分区如下:
我的问题是 - 因为每一行都有不同的日期时间列,并且日期时间没有四舍五入到小时而是包括秒和分钟,我的 table 是否仍然正确分区?
因此,如果行的日期时间如下:
2021-11-19T01:00:00
2021-11-19T02:00:00
2021-11-19T03:00:00
...
那么我很确定 table 将被正确分区,但这些行的日期时间如下:
2021-11-19T01:25:01
2021-11-19T02:11:50
2021-11-19T03:00:21
...
有问题吗?尽管有秒和分钟(这会导致所有行具有不同的日期时间值),我的 table 是否正确分区?
一切都很好,您的 table 已按照您希望的方式进行分区。
您所描述的正是 Partitioned by
专栏的目的。当 BigQuery 为每条记录选择分区时,它会有效地将分钟和秒替换为 0。
要特别清楚,如果你传入 2021-11-19T02:11:50
那么它将被放置在 2021-11-19T02:00:00
分区中。
如果您想查看分区以验证这一点,那么您可以 运行:
SELECT
*
FROM `<PROJECT>.<DATASET>.INFORMATION_SCHEMA.PARTITIONS`
WHERE table_name = '<TABLE_NAME>'
我有一个 分区的 table,其中的日期时间列 如下所示:
日期时间列包括日期、小时、分钟和秒,每一行都有不同的日期时间列(区别主要在于秒、分钟和小时)
table 在 datetime 列上分区如下:
我的问题是 - 因为每一行都有不同的日期时间列,并且日期时间没有四舍五入到小时而是包括秒和分钟,我的 table 是否仍然正确分区?
因此,如果行的日期时间如下:
2021-11-19T01:00:00
2021-11-19T02:00:00
2021-11-19T03:00:00
...
那么我很确定 table 将被正确分区,但这些行的日期时间如下:
2021-11-19T01:25:01
2021-11-19T02:11:50
2021-11-19T03:00:21
...
有问题吗?尽管有秒和分钟(这会导致所有行具有不同的日期时间值),我的 table 是否正确分区?
一切都很好,您的 table 已按照您希望的方式进行分区。
您所描述的正是 Partitioned by
专栏的目的。当 BigQuery 为每条记录选择分区时,它会有效地将分钟和秒替换为 0。
要特别清楚,如果你传入 2021-11-19T02:11:50
那么它将被放置在 2021-11-19T02:00:00
分区中。
如果您想查看分区以验证这一点,那么您可以 运行:
SELECT
*
FROM `<PROJECT>.<DATASET>.INFORMATION_SCHEMA.PARTITIONS`
WHERE table_name = '<TABLE_NAME>'