有没有办法根据 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 Standard SQL 中解析 XML 标签?