在BigQuery中,如果您创建了一个分区表,那么在查询时,可能会看到与该表对应的不同的表。这是因为BigQuery根据分区自动生成表的副本,以便更快地查询数据。这些副本在逻辑上属于同一个表,但它们在物理上是不同的表。
如果你想要确保只查询一个分区表,可以使用以下代码来查询一个特定分区:
SELECT *
FROM `project_name.dataset_name.partitioned_table$20191101`
在上面的代码中,20191101
代表要查询的特定日期分区。您可以更改这个日期以查询其他分区。此外,您还可以使用_TABLE_SUFFIX
伪列来动态引用表分区,如下所示:
SELECT *
FROM `project_name.dataset_name.partitioned_table`
WHERE _TABLE_SUFFIX = '20191101'
在上面的代码中,_TABLE_SUFFIX
伪列将被自动替换为指定的分区日期。通过使用这两种方法之一,您可以确保只查询特定分区的数据,而不会看到任何其他的分区数据。