Google BiqQuery Unstable, Query Execution Failure on Almost all Table Queries : "Error: Error preparing subsidiary query: null"
Google BiqQuery Unstable, Query Execution Failure on Almost all Table Queries : "Error: Error preparing subsidiary query: null"
Google 几乎所有 Table 查询的 BiqQuery 查询执行都失败了。当我们最初部署我们的应用程序时,Table 查询最初是有效的。当数据集开始增长时,我们开始看到以下错误。我们在每个数据集中有大量 table。我不确定它是否与此错误有关。但是,当我们 运行 在不同的 biqquery 帐户中对较小的数据集进行此查询时,它会成功。
"Error: Error preparing subsidiary query: null"
下面是一些示例查询,我们正尝试从我们的应用程序和 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
即使在我执行 Table 汇总查询时,我也遇到了错误。我不确定这个错误是否相关。
SELECT * FROM sampledataset.__TABLES_SUMMARY__
WHERE MSEC_TO_TIMESTAMP(creation_time) <
DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY')
查询执行期间超出资源:数据集 metatable 中的 table 太多:sampledataset.TABLES_SUMMARY,超过 500000 个限制。
由于这些问题,我们认为 Gogole Biq Query 非常不实用table,并且没有太多资源可用于解决我们的问题。
在继续使用较小的 table 分区之前,我们确实在 Whosebug
中进行了查询
Is there a limit to the number of tables allowed in bigquery ?
我们收到了来自@jordan-tigani 的肯定答复,确认没有限制 https://whosebug.com/users/1366527/jordan-tigani
由于这个问题,我们甚至被迫从 Google Biq Query 迁移到 AWS Redshift。
更新 1:根据@Felipe Hoffa 的更新,Big Query 提供的 TABLE_DATE_RANGE 函数似乎在大量 tables 存在于给定的数据集中。 Google Big Query Platform 和依赖 TABLE_DATE_RANGE 功能的项目目前没有针对此问题的修复,需要迁移到 "Partitioned Tables"(Google 推出的新功能) 以便应用程序正常运行。我想强调一下,因为它可能会帮助人们设计他们的 Biq 查询模式,因为 TABLE_DATE_RANGE 的局限性和类似功能在其他地方没有记录
正如 Jordan 所说,BigQuery 中允许的 table 数量没有限制 - 但在一个查询中可以查询的 table 数量是有限制的。您在这里用一个查询点击了多少 table?
为了超过一次查询允许的 table 秒限制,BigQuery 推出了新功能 "partitioned tables"。在这里你可以有一个独特的 table - 按天分区 - 这将允许你只查询所需的天数,因此只会产生比例成本(而不是整个 table):
https://cloud.google.com/bigquery/docs/creating-partitioned-tables
Google 几乎所有 Table 查询的 BiqQuery 查询执行都失败了。当我们最初部署我们的应用程序时,Table 查询最初是有效的。当数据集开始增长时,我们开始看到以下错误。我们在每个数据集中有大量 table。我不确定它是否与此错误有关。但是,当我们 运行 在不同的 biqquery 帐户中对较小的数据集进行此查询时,它会成功。
"Error: Error preparing subsidiary query: null"
下面是一些示例查询,我们正尝试从我们的应用程序和 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
即使在我执行 Table 汇总查询时,我也遇到了错误。我不确定这个错误是否相关。
SELECT * FROM sampledataset.__TABLES_SUMMARY__
WHERE MSEC_TO_TIMESTAMP(creation_time) <
DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY')
查询执行期间超出资源:数据集 metatable 中的 table 太多:sampledataset.TABLES_SUMMARY,超过 500000 个限制。
由于这些问题,我们认为 Gogole Biq Query 非常不实用table,并且没有太多资源可用于解决我们的问题。 在继续使用较小的 table 分区之前,我们确实在 Whosebug
中进行了查询Is there a limit to the number of tables allowed in bigquery ?
我们收到了来自@jordan-tigani 的肯定答复,确认没有限制 https://whosebug.com/users/1366527/jordan-tigani
由于这个问题,我们甚至被迫从 Google Biq Query 迁移到 AWS Redshift。
更新 1:根据@Felipe Hoffa 的更新,Big Query 提供的 TABLE_DATE_RANGE 函数似乎在大量 tables 存在于给定的数据集中。 Google Big Query Platform 和依赖 TABLE_DATE_RANGE 功能的项目目前没有针对此问题的修复,需要迁移到 "Partitioned Tables"(Google 推出的新功能) 以便应用程序正常运行。我想强调一下,因为它可能会帮助人们设计他们的 Biq 查询模式,因为 TABLE_DATE_RANGE 的局限性和类似功能在其他地方没有记录
正如 Jordan 所说,BigQuery 中允许的 table 数量没有限制 - 但在一个查询中可以查询的 table 数量是有限制的。您在这里用一个查询点击了多少 table?
为了超过一次查询允许的 table 秒限制,BigQuery 推出了新功能 "partitioned tables"。在这里你可以有一个独特的 table - 按天分区 - 这将允许你只查询所需的天数,因此只会产生比例成本(而不是整个 table):
https://cloud.google.com/bigquery/docs/creating-partitioned-tables