在BigQuery中使用通配符查询



我有一系列名为{YYYYMM}_{id}的表,我有名为{groupid}_cost_model的ML模型。我正在尝试使用以下查询整理所有表中的一些数据:

SELECT * FROM `mydataset.20*`

我的问题是,我有一个名为200_cost_model的模型,它导致以下错误:

Wildcard table over non partitioning tables and field based partitioning tables is not yet supported, first normal table myproject:mydataset.200_cost_model, first column table myproject:mydataset.202001_4544248676.

是否有一种方法可以从通配符查询中过滤出模型,或者我是否将所有表连接在一起?

当使用通配符表时,您可以使用psuedo列来过滤结果:

通配符表的查询支持_TABLE_SUFFIX伪列WHERE子句中。属性匹配的值通配符,以便查询可以过滤哪些表是访问。例如,下面的WHERE子句使用比较过滤匹配表的操作符

我已经在我这边测试了,虽然只是在标准的新创建的表上,它应该像这样工作:

SELECT *
FROM
`mydataset.20*`
WHERE
_TABLE_SUFFIX like '%cost_model' ;

以及检查所有可能的_TABLE_SUFFIX选择,它对我来说是这样的:

select  DISTINCT   _TABLE_SUFFIX as suffix from  `mydataset.20*`

但我不确定这是否适用于你的情况。

最新更新