有没有办法根据 Bigquery 查询中的标签选择表?

Posted

技术标签:

【中文标题】有没有办法根据 Bigquery 查询中的标签选择表?【英文标题】:Is there a way to select tables based on labels in a Bigquery Query? 【发布时间】:2018-05-11 05:47:06 【问题描述】:

BigQuery 中的表可以分配labels。

我在 BigQuery 中有可以有一个或多个标签的表。我调查了querying multiple tables using wildcard。但是,在我的例子中,标签可以动态变化,每个表可以有多个标签。

我可以解决此问题的一种方法是创建另一个元数据表,其中包含所有表及其标签的详细信息。我可以先对此运行查询以获取所有必需的表,然后对这些表运行实际查询。但我想避免这种情况,因为维护这个元数据表很麻烦(当标签更改时,表被删除等)。此外,使用这种方法,我可能会达到最大未解析查询长度 (256KB) 的限制。

所以我想知道是否有一种方法可以根据标签选择表进行查询,类似于_TABLE_SUFFIX?像下面这样的?

select * from [x.y] where x has labels [a,b] and y has labels [c,d]

当然,所有与标签匹配的表都应该具有相同的架构和属性(分区等),以便查询成功

【问题讨论】:

【参考方案1】:

无法按标签查询表。如果您查看标准 SQL query syntax 和 functions & operators,则可以看到支持的标准 SQL 操作。

标签用于帮助您在本例中为 BigQuery 资源组织 Google Cloud Platform 资源。

【讨论】:

以上是关于有没有办法根据 Bigquery 查询中的标签选择表?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在 bigquery 中删除表列?

有没有办法在 BigQuery Standard SQL 中解析 XML 标签?

缓存 BigQuery 查询

有没有办法在BigQuery Standard SQL中解析XML标签?

有没有办法将架构的内容创建到 BigQuery 中的表中?

有没有办法在 BigQuery 中保存的视图中使用脚本方法?