我希望在现有查询中包含一个where子句,以排除BigQuery流缓冲区中的数据。
为此,我希望获得分区列名,这样我就可以添加
WHERE partition_column IS NOT NULL;到我现有的查询中。
但是,我一直在研究CLI和get_table方法,它们只返回列的值,而不返回列名。当我在.INFORMATION_SCHEMA.PARTITIONS上搜索时也会得到同样的结果,这会返回一个partition_id字段,但我更喜欢列名本身,有没有办法得到它呢?
此外,表还设置了基于列的分区。
发布于 2021-11-11 09:56:08
基于python BigQuery client documentation,使用属性time_partitioning
from google.cloud import bigquery
bq_table = client.get_table('my_partioned_table')
bq_table.time_partitioning # TimePartitioning(field='column_name',type_='DAY')
bq_table.time_partitioning.field # column_name小贴士,如果你不知道在哪里搜索,打印API repr:
bq_table.to_api_repr()https://stackoverflow.com/questions/69914909
复制相似问题