【问题标题】:Can we check if table in bigquery is in locked or DML operation is being performed我们是否可以检查 bigquery 中的表是否处于锁定状态或正在执行 DML 操作
【发布时间】:2019-05-21 17:02:46
【问题描述】:

有一个 BQ 表,其中安排了多个数据加载/更新/删除作业。由于这是自动作业,因此其中许多由于并发更新问题而失败。 我需要知道我们是否在 BigQuery 中有一项规定来检查表是否已被 DML 操作锁定,我们是否可以对查询进行序列化以便没有作业失败

【问题讨论】:

  • 您能否解释一下是谁在生成错误消息并提供 excat 错误本身。还添加更多详细信息如何触发自动
  • 使用气流自动更新、删除和插入查询。它抛出以下错误:- 由于并发更新,无法序列化对表 my_table 的访问。

标签: google-bigquery


【解决方案1】:

您可以使用客户端代码生成的作业 ID 来跟踪作业状态,并仅在该作业完成后开始下一个查询。 Thisthis 描述了该过程。

或者,您可以尝试exponential backoff 重试查询一定次数,以防止由于锁定表而导致查询自动失败。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 2019-04-14
    • 2015-11-14
    相关资源
    最近更新 更多