如何处理大查询错误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:配额超出?的主要内容,如果未能解决你的问题,请参考以下文章

如何处理大访问量处理?

如何处理大字符串和有限的内存

我是如何处理大并发量订单处理的 KafKa部署总结

Pandas中如何处理大数据?

如何处理大流量高并发

HTTP 文件上传如何处理大文件?