我使用dbplyr连接到BigQuery表,这些表是按日期或时间分区的(列名为_PARTITIONDATE或_PARTITIONTIME)。在BigQuery中,您可以使用WHERE _PARTITIONDATE > "some date“进行过滤,以访问表的段并提高查询性能。
但是当我通过dbplyr连接到一个表时,没有可以过滤的分区列。这是预期的行为吗?
发布于 2021-06-23 07:59:55
我发现您可以使用dbplyr中的build_sql函数对表的分区列进行筛选,然后继续使用dbplyr编写查询,例如:
tbl(con, "table_name") %>%
filter(!!build_sql("DATE(_PARTITIONTIME > '2021-06-21'", con = con)每当没有dbplyr等效项时,您都可以这样做。
https://stackoverflow.com/questions/68091507
复制相似问题