bigquery 通配符表查询不允许选择某些字段
Posted
技术标签:
【中文标题】bigquery 通配符表查询不允许选择某些字段【英文标题】:bigquery wildcard table query not allowing to select some fields 【发布时间】:2020-08-03 15:47:22 【问题描述】:起初我将表 TableA_YYMMDD 分片,其中包含字段 ColumnA、ColumnB、TableA_20200803、TableA_20200802 等。然后出现了一个新表 TableA_B_YYMMDD,它只有 ColumnA。如何只查询TableA?我试过这个:
SELECT ColumnA, ColumnB
FROM `TableA_*`
WHERE _TABLE_SUFFIX IN ('20200803')
即使它正确计算成本,但抛出错误,ColumnB 也不存在。
【问题讨论】:
【参考方案1】:查询通配符表时,使用与前缀匹配的最近创建的表https://cloud.google.com/bigquery/docs/querying-wildcard-tables#schema_used_for_query_evaluation。在您的情况下,使用了 TableA_B_YYMMDD 的架构,它不包含 ColumnB。
将您的前缀更新为“TableA_2020*”,使其与 TableA_B 不匹配?
【讨论】:
如何匹配1999? 在这种情况下,您必须重新设计表的名称方案,以便可以通过前缀过滤它们。此外,看起来这些是每日餐桌。为什么不使用分区表而不是通配符表?以上是关于bigquery 通配符表查询不允许选择某些字段的主要内容,如果未能解决你的问题,请参考以下文章