提前感谢任何人都可以提供的帮助。我对SQL和Bigquery有点新,并且无法在我的确切问题上找到任何内容。
我正在尝试使用下面描述的bigquery通配符功能来查询两个分区表。
https://cloud.google.com/bigquery/docs/querying-wildcard-tables
这些表中的每一个都是基于Date列进行分区的,并且由于分区过期时间的推移,一些行现已过期。使用通配符查询时,除了预期的行之外,bigquery似乎还返回过期的行。
我正在做的测试信息: 当上传到bigquery时,Table1和Table2最初都有1000行(具有不同的日期)。由于到期,他们目前每个都有77行。这些表具有相同的模式。
当我尝试运行下面的通配符查询时,bigquery由于某种原因返回所有2000个原始行,即使大多数基于分区到期设置已过期且不再显示在table1或table2中。
SELECT
*
FROM
`dataset.table*`
但是使用UNION ALL
会返回预期的154行:
SELECT
*
FROM
`dataset.table1`
UNION ALL
SELECT
*
FROM
`dataset.table2`
我理解这两个查询应该返回相同的数据。有人可以解释我在这里做错了什么以及为什么bigquery在通配符查询中返回2000行?