gpt4 book ai didi

google-app-engine - Google BigQuery DML 更新查询仍在流缓冲区中的行

转载 作者:太空宇宙 更新时间:2023-11-03 15:36:03 25 4
gpt4 key购买 nike

我最近一直在尝试为 Google 的 Big Query streaming api 提出一种重试机制,用于在有时可能仍在流缓冲区中的行上运行带有 UPDATE 语句的 DML 查询。由于这些行尚未导出到表中,BI 的 api 禁止对它们运行 UPDATE 或 DELETE 语句。据我所知,没有办法自己手动刷新 Streaming Buffer。

我的问题是,对于具有某种重试机制的调用,是否有一种方法或良好做法可以在宣布的可能的 90 分钟等待时间(行可以在缓冲区中)内执行此操作?

最佳答案

我建议将数据从发生流式处理的表复制到另一个可以无限制地运行 DML 的表。这另一个永久表可以用 jobs.insert API 创建您需要将此永久表视为真实来源,在原始表上您可以 enable table's expiration timepartition expiration取决于您的需求和应对频率。现在,当您拥有永久表时,您可以对该数据进行一些其他处理或生成报告等。上面的缺点是你可能会有一些迟到的数据,无论如何你应该获取/复制合理的数据窗口并将其重复数据删除到永久表以保证最新数据

我假设流式传输到您的表可以一次又一次地运行,因此理论上您可能永远无法运行 DML,因为流式缓冲区永远不会为空。

无论如何,如果您仍然需要运行一些重试机制,请尝试使用类似 https://github.com/awaitility/awaitility 的东西

关于google-app-engine - Google BigQuery DML 更新查询仍在流缓冲区中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52491748/

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