Google bigquery GoolgeBigQuery-超出速率限制

Google bigquery GoolgeBigQuery-超出速率限制,google-bigquery,Google Bigquery,尝试将数据插入GoogleBigQuery时,我们遇到以下错误: table.write:超出速率限制:此表的表更新操作太多。有关更多信息,请参阅错误代码:RateLimitOvered 根据文件,我可能超过以下一项 我如何知道我的申请超出了哪些标准 我已经在web上探索过其他解决方案,但没有一个有效。您可以检查配额页面导航菜单->IAM&Admin->配额,然后在该服务下,您可以只选择BigQuery API来查看是否达到任何BQ API配额。如果没有,您很可能达到每日目标表更新限制-每天每个

尝试将数据插入GoogleBigQuery时,我们遇到以下错误:

table.write:超出速率限制:此表的表更新操作太多。有关更多信息,请参阅错误代码:RateLimitOvered

根据文件,我可能超过以下一项

我如何知道我的申请超出了哪些标准


我已经在web上探索过其他解决方案,但没有一个有效。

您可以检查配额页面导航菜单->IAM&Admin->配额,然后在该服务下,您可以只选择BigQuery API来查看是否达到任何BQ API配额。如果没有,您很可能达到每日目标表更新限制-每天每个表1000次更新

您可以检查配额页面导航菜单->IAM&Admin->配额,然后在该服务下,您可以仅选择BigQuery API以查看是否达到任何BQ API配额。如果没有,您很可能达到了每日目标表更新限制-每天每个表更新1000次

您达到了表更新限制。这意味着您要提交大量修改表insert、update或delete存储的操作。请记住,这还包括加载作业、DML或带有目标表的查询。由于配额会定期补充,因此您需要等待几分钟才能重试,但请注意表更新配额,以免再次出现此错误


如果您在许多操作中插入行而不是少数操作,请考虑使用。

您将达到表更新限制。这意味着您要提交大量修改表insert、update或delete存储的操作。请记住,这还包括加载作业、DML或带有目标表的查询。由于配额会定期补充,因此您需要等待几分钟才能重试,但请注意表更新配额,以免再次出现此错误


如果你在很多操作中插入行而不是用几行,请考虑使用。

< P>让我从一个队友得到的真实案例中重现错误:

创建表 创建表temp.bucket_位置 像 选择“ASIA-EAST1”存储单元位置 联盟全部选择“亚洲-东北2”位置; 多次更新 更新临时铲斗位置 设置bucket_位置=US 你所在的位置和我们一样; 更新临时铲斗位置 设置铲斗位置=TW 其中,美国的地理位置如ASIA-EAST1%; 更新临时铲斗位置 设置bucket_location=JP 其中,美国的地理位置如亚洲-东北1%; 更新临时铲斗位置 设置bucket_location=HK 其中,美国的地理位置如ASIA-EAST2%; 更新临时铲斗位置 设置bucket_location=JP 其中,美国的地理位置如亚洲-东北2%; 更新临时铲斗位置 设置铲斗位置=KR 其中,美国的地理位置如亚洲-东北3%; 更新临时铲斗位置 设置铲斗位置=IN 其中,美国的地理位置如亚洲南部1%; 更新临时铲斗位置 设置铲斗位置=SG 其中,美国位于亚洲东南部,占1%; 更新临时铲斗位置 设置铲斗位置=AU 在澳大利亚这样的地方; 更新临时铲斗位置 设置铲斗位置=FI 其中,欧洲等美国地区-NORTH1%; 更新临时铲斗位置 设置铲斗位置=BE 其中,欧洲-西部等美国地区占1%; 更新临时铲斗位置 设置bucket_位置=GB 其中,欧洲-西部等美国地区占2%; 更新临时铲斗位置 设置铲斗位置=DE 其中,欧洲西部等美国地区占3%; 更新临时铲斗位置 设置铲斗位置=NL 其中,欧洲西部等美国地区占4%; 更新临时铲斗位置 设置铲斗位置=CH 其中,欧洲西部等美国地区占6%; 更新临时铲斗位置 设置铲斗位置=CA 如北美等地; 更新临时铲斗位置 设置铲斗位置=BR 如南美洲等地; 超出速率限制:此表的表更新操作太多

这种情况的解决方案是避免进行如此多的更新。相反,通过将所有映射组合在一起,我们只能做一件事:

创建临时表映射` 像 挑选* 从最不安 [STRUCT'US'作为缩写,'US%'只要,'TW','ASIA-EAST1%','JP','ASIA-northest2%' 你可以在增加映射 ]; 更新临时铲斗位置 设置铲斗位置=abbr 从映射 你的位置在哪里
让我用我从一个队友那里得到的一个真实案例来重现这个错误:

创建表 创建表temp.bucket_位置 像 选择“ASIA-EAST1”存储单元位置 联盟全部选择“亚洲-东北2”位置; 多次更新 更新临时铲斗位置 设置bucket_位置=US 你所在的位置和我们一样; 更新临时铲斗位置 设置铲斗位置=TW 其中,美国的地理位置如ASIA-EAST1%; 更新临时铲斗位置 设置bucket_location=JP 其中,美国的地理位置如亚洲-东北1%; 更新临时铲斗位置 设置bucket_location=HK 其中,美国的地理位置如ASIA-EAST2%; 更新临时铲斗位置 设置bucket_location=JP 其中,美国的地理位置如亚洲-东北2%; 更新临时铲斗位置 设置铲斗位置=KR 其中,美国的地理位置如亚洲-东北3%; 更新临时铲斗位置 设置铲斗位置=IN 其中,美国的地理位置如亚洲南部1%; 更新临时铲斗位置 设置铲斗位置=SG 其中,美国位于亚洲东南部,占1%; 更新临时铲斗位置 设置铲斗位置=AU 在澳大利亚这样的地方; 更新临时铲斗位置 设置铲斗位置=FI 其中,欧洲等美国地区-NORTH1%; 更新临时铲斗位置 设置铲斗位置=BE 其中,欧洲-西部等美国地区占1%; 更新临时铲斗位置 设置bucket_位置=GB 其中,欧洲-西部等美国地区占2%; 更新临时铲斗位置 设置铲斗位置=DE 其中,欧洲西部等美国地区占3%; 更新临时铲斗位置 设置铲斗位置=NL 其中,欧洲西部等美国地区占4%; 更新临时铲斗位置 设置铲斗位置=CH 其中,欧洲西部等美国地区占6%; 更新临时铲斗位置 设置铲斗位置=CA 如北美等地; 更新临时铲斗位置 设置铲斗位置=BR 如南美洲等地; 超出速率限制:此表的表更新操作太多

这种情况的解决方案是避免进行如此多的更新。相反,通过将所有映射组合在一起,我们只能做一件事:

创建临时表映射` 像 挑选* 从最不安 [STRUCT'US'作为缩写,'US%'只要,'TW','ASIA-EAST1%','JP','ASIA-northest2%' 你可以在增加映射 ]; 更新临时铲斗位置 设置铲斗位置=abbr 从映射 你的位置在哪里
在解决方案方面,使用wait bigquery.createjobconfig;而不是等待bigquery.CreateQueryJobConfig;前者将作为批处理运行,而后者是交互式查询作业

以批处理方式运行查询将不计入BigQuery API限制

来自GCP:

默认情况下,BigQuery运行交互式查询作业,这意味着查询将尽快执行。交互式查询计入您的并发费率限制和每日限额

批处理查询不计入您的并发速率限制


我正在运行一个合并查询以消除重复数据,并使用批处理过程解决了错误。在处理时间上,我没有看到任何明显的差异。

对于解决方案,请使用wait bigquery.createjobconfig;而不是等待bigquery.CreateQueryJobConfig;前者将作为批处理运行,而后者是交互式查询作业

以批处理方式运行查询将不计入BigQuery API限制

来自GCP:

默认情况下,BigQuery运行交互式查询作业,这意味着查询将尽快执行。交互式查询计入您的并发费率限制和每日限额

批处理查询不计入您的并发速率限制


我正在运行一个合并查询以消除重复数据,并使用批处理过程解决了错误。在处理时间上,我没有看到任何明显的差异。

太多的表更新操作不是使每个表和每天的千次更新变得明显吗?太多的表更新操作不是使每个表和每天的千次更新变得明显吗?