gpt4 book ai didi

java - Google BigQuery 不稳定,几乎所有表查询都执行查询失败 : "Error: Error preparing subsidiary query: null"

转载 作者:搜寻专家 更新时间:2023-11-01 03:33:53 25 4
gpt4 key购买 nike

Google BiqQuery 查询执行在几乎所有表查询上都失败。当我们最初部署我们的应用程序时,表查询最初正在工作。当数据集开始增长时,我们开始看到以下错误。我们在每个数据集中都有大量的表。我不确定它是否与此错误有关。但是,当我们在不同的 biqquery 帐户中对较小的数据集运行此查询时,它会成功。

“错误:准备辅助查询时出错:空”

以下是我们尝试从我们的应用程序和 Google Biq 查询 Web 控制台执行的一些示例查询,但我们的所有尝试均未成功并出现上述错误。

SELECT * FROM  (TABLE_DATE_RANGE([sampledataset.location], 
TIMESTAMP('2016-07-10'),
TIMESTAMP('2016-07-11')))

引用 Biq 查询作业 ID:bquijob_286a4921_155dd7d8868

SELECT count(*) FROM (TABLE_QUERY(sampledataset,'table_id CONTAINS "location201606"'))

引用 Biq 查询作业 ID:bquijob_531d0e3_155dda8f7dc

即使在我执行表摘要查询时,我也会遇到错误。我不确定这个错误是否相关。

SELECT * FROM sampledataset.__TABLES_SUMMARY__ 
WHERE MSEC_TO_TIMESTAMP(creation_time) <
DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY')

查询执行期间超出资源:数据集元表 :sampledataset 中的表过多。TABLES_SUMMARY,超过 500000 个限制。

由于这些问题,我们认为 Gogole Biq Query 非常不稳定,并且没有太多资源可用于解决我们的问题。在继续处理较小的表分区之前,我们确实在 stackoverflow 中进行了查询

Is there a limit to the number of tables allowed in bigquery

我们收到了来自@jordan-tigani https://stackoverflow.com/users/1366527/jordan-tigani 的肯定答复,确认没有限制

由于这个问题,我们甚至被迫从 Google Biq Query 迁移到 AWS Redshift。

更新 1:根据@Felipe Hoffa 的更新,当给定数据集中存在大量表时,Big Query 提供的 TABLE_DATE_RANGE 函数似乎会出现问题。目前,Google Big Query Platform 没有解决此问题,依赖 TABLE_DATE_RANGE 功能的项目需要迁移到“分区表”(Google 推出的新功能)才能使应用程序正常运行。我想强调一下,因为它可能会帮助人们在为 Biq Query 设计他们的模式时,因为 TABLE_DATE_RANGE 和类似函数的局限性没有在其他地方记录

最佳答案

正如 Jordan 所说,BigQuery 中允许的表数没有限制 - 但一个查询中可以查询的表数是有限制的。您在这里使用一个查询访问了多少个表?

为了克服一次查询中允许的表限制,BigQuery 推出了新功能“分区表”。在这里你可以有一个唯一的表 - 按天分区 - 这将允许你只查询所需的天数,因此只会产生比例成本(而不是整个表):

https://cloud.google.com/bigquery/docs/creating-partitioned-tables

关于java - Google BigQuery 不稳定,几乎所有表查询都执行查询失败 : "Error: Error preparing subsidiary query: null",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38321199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com