在 BigQuery 视图中找不到字段
Posted
技术标签:
【中文标题】在 BigQuery 视图中找不到字段【英文标题】:Field not found in BigQuery view 【发布时间】:2014-03-28 00:14:23 【问题描述】:这可能只是 BQ 中的一个错误,但也许有人可能会因某些错误而打电话给我。基本上我要做的是将一个字段(比如new_field
)添加到表中并将其保存为视图以供以后查询。
当我查询视图时,它会抛出一个关于无法找到new_field
的错误。
复制此错误的最简单方法:
SELECT IF(corpus_date > 1599, "17th", "16th") AS century, *
FROM [publicdata:samples.shakespeare]
WHERE corpus_date > 0;
另存为视图,命名为bar
。
SELECT * FROM [foo.bar]
会抛出如下错误:
Error: Field 'century' not found in table 'publicdata:samples.shakespeare'.
有什么想法吗?
【问题讨论】:
【参考方案1】:看起来*
在视图中的扩展存在问题。我已经提交了一个错误,希望我们能够尽快修复。同时,您应该能够通过显式添加视图中的所有字段来解决此问题。
例如,如果您将视图保存为以下内容:
SELECT IF(corpus_date > 1599, "17th", "16th") AS century,
word, word_count, corpus, corpus_date
FROM [publicdata:samples.shakespeare]
WHERE corpus_date > 0;
那么select * from [foo.view]
就可以了。
【讨论】:
根据我的经验,BQ。不允许包含 * 和其他字段的 select 语句。它明确地允许字段或 *。无论是观点还是只是陈述。 带有额外字段支持的 select * 是我们在过去几个月中添加的小型 SQL 调整之一。另一个相关的是能够将 * 与嵌套字段一起使用,因此您可以使用SELECT record.* FROM ...
很好...我在哪里可以获取有关此类调整版本的更新。我没有在正式的发行说明页面中看到它。以上是关于在 BigQuery 视图中找不到字段的主要内容,如果未能解决你的问题,请参考以下文章
排毒:在 Info.plist 中找不到字段 CFBundleIdentifier