BigQuery:发生内部错误,请求无法完成

BigQuery : An internal error occurred and the request could not be completed

带时间戳的简单 select 查询失败 :

SELECT COUNT(*) FROM [bi.table] WHERE  timestamp > DATE_ADD(CURRENT_TIMESTAMP(), -15, 'MINUTE') and column1 is null

查询失败:

Error: An internal error occurred and the request could not be completed. Job ID: exampleJob:job_lndEirUwwM_khdBrV8eMDmBDFiE   

bigquery系统有问题吗?

https://status.cloud.google.com/不说有什么不对。

建议永远不要对 COUNT 使用通配符。尤其是大表。如果我们稍微重写您的查询,我们会得到:

SELECT COUNT(user) count_user
FROM [bi.table]
WHERE  timestamp > DATE_ADD(CURRENT_TIMESTAMP(), -15, 'MINUTE')
and column1 is null

根据 API,您还可以使用:

and isnull(column1)

您还可以使用:

and isnull(column1)

您还可以使用:

and isempty(column1)

您还可以使用:

and column1=''

这是使用 Microsoft 的知识库文章讨论 isnull(column1) 或 colum1 is null 之间的区别..

此外,对于 SQL 服务器..您可以使用锁定提示..

FROM [bi.table] (NOLOCK)

但是,我不熟悉 Google API... 所以,这些只是建议。

这个错误实际上与时间戳无关。您在我们的流媒体摄取服务中遇到了错误。它在您 运行 查询时超载,无法提供为您的 table 摄取的数据。我们正在调查并将解决根本问题。抱歉给您带来不便。