我找不到与此有关的任何文件。 time_partitioning_type = DAY是在BigQuery中对表进行分区的唯一方法吗?此参数可以采用除日期之外的任何其他值吗?
答案 0 :(得分:3)
不幸的是没有。 BigQuery 目前仅支持日期分区表。
https://cloud.google.com/bigquery/docs/partitioned-tables
BigQuery提供日期分区表,这意味着该表被划分为每个日期的单独分区
答案 1 :(得分:2)
请注意,即使您按天粒度进行分区,您仍然可以使用_PARTITIONTIME
上的相应过滤器编写查询,以便在几个月内运行。例如,
#standardSQL
SELECT * FROM MyDatePartitionedTable
WHERE DATE_TRUNC(EXTRACT(DATE FROM _PARTITIONTIME), MONTH) = '2017-01-01';
这将从今年1月开始选择所有行。
答案 2 :(得分:2)
看起来这样可行:
#standardSQL
CREATE OR REPLACE TABLE `My_Partition_Table`
PARTITION BY event_month
OPTIONS (
description="this is a table partitioned by month"
) AS
SELECT
DATE_TRUNC(DATE(some_event_timestamp), month) as event_month,
*
FROM `TableThatNeedsPartitioning`