如何处理大查询错误403:配额超出?
Posted
技术标签:
【中文标题】如何处理大查询错误403:配额超出?【英文标题】:How to deal with big query error 403: quota exceeded? 【发布时间】:2022-01-22 13:58:57 【问题描述】:我们有一个 Python 脚本,它订阅物联网设备通过 MQTT 发布的数据,并每分钟将这些数据附加到一个大查询表中。因此,我们每天向大查询表添加 1440 个附加作业,略低于 GCP 设置的每日 1500 个限制。如果我们有更多设备,这种方法肯定会失败。有没有人有实时监控传感器并将数据存储在云端的经验?你用什么工具?谢谢
【问题讨论】:
如果您由于频繁更新或更多设备数据而超出了加载作业限制,请考虑改用streaming data into BigQuery。让我知道它是否有帮助? @VishalK 谢谢,我去看看。 嗨@Thanks Naing,如果我的回答解决了您的问题,请考虑接受并支持它。如果没有,请告诉我,以便我改进答案。 【参考方案1】:Standard tables 中每天的最大表操作数为 1,500。此操作包括附加到或覆盖目标表或使用 DML INSERT、UPDATE、DELETE 或 MERGE 语句将数据写入表的所有加载作业、复制作业和查询作业的总和。因此,如果您达到每个表每天 1500 次表操作的限制,您的 BigQuery 作业将失败并出现“Quota exceeded”错误。以下是在这种情况下的建议:
将作业批处理在一起以将更新合并为单个更新,这样您就可以克服 1500 个表操作的限制。有关批处理作业的更多信息,请参阅此documentation。
如果您想要实时更新数据,请使用 Streaming API。有关 Streaming API 的更多信息,请参阅documentation。
根据您的要求,我建议您使用 Streaming API 将数据的实时更新流式传输到 BigQuery。
【讨论】:
谢谢@Vishal。流式 API 正是我想要的。干杯以上是关于如何处理大查询错误403:配额超出?的主要内容,如果未能解决你的问题,请参考以下文章