我遇到了Google BigQuery的一些奇怪行为。数据集bigquery-public-data.github_repos
提供了表commits
和sample_commits
。表的架构应该相同,不同之处仅在于表的大小,因此可以开发查询而不会浪费有限的数据。
当我对示例数据运行以下查询时,我得到10次提交的正确结果:
SELECT
commit AS commit,repo_name AS repo_name,committer.date AS date
FROM
`bigquery-public-data.github_repos.sample_commits`
WHERE
repo_name = "torvalds/linux"
LIMIT 10
奇怪的是,当我在大表commits
上运行查询时,收到错误消息:
SELECT
commit AS commit,committer.date AS date
FROM
`bigquery-public-data.github_repos.commits`
WHERE
repo_name = "torvalds/linux"
LIMIT 10
我收到的错误消息是:
对于运算符=没有匹配的签名,参数类型为:ARRAY,STRING。支持的签名:ANY = ANY [8:3]
从模式表中我也知道repo_name
的类型为STRING
,所以这个错误使我很困惑。