BigQuery:404“表被截断。”当在截断之后插入时

2024-02-06

我通过执行此处描述的 queryJob 来截断我的表:https://cloud.google.com/bigquery/docs/quickstarts/quickstart-client-libraries https://cloud.google.com/bigquery/docs/quickstarts/quickstart-client-libraries

"truncate table " + PROJECT_ID + "." + datasetName + "." + tableName;

我等到工作完成

queryJob = queryJob.waitFor();

截断效果很好。

无论如何,如果我在截断操作之后立即进行插入

InsertAllResponse response = table.insert(rows);

它导致

com.google.cloud.bigquery.BigQueryException: Table is truncated.

具有以下日志:

Caused by: com.google.api.client.googleapis.json.GoogleJsonResponseException: 404 Not Found
    POST https://www.googleapis.com/bigquery/v2/projects/[MYPROJECTID]/datasets/[MYDATASET]/tables/[MYTABLE]/insertAll?prettyPrint=false
    {
      "code" : 404,
      "errors" : [ {
        "domain" : "global",
        "message" : "Table is truncated.",
        "reason" : "notFound"
      } ],
      "message" : "Table is truncated.",
      "status" : "NOT_FOUND"
    }

有时我什至需要在截断和插入之间等待超过 5 分钟。

我想检查我的表是否仍处于“表已截断”状态。周期性地直到这种状态消失。

我如何请求 bigquery api 来检查表是否准备好插入?

我如何请求bigquery api来获取表的状态?

Edit

可以找到重现的示例here https://github.com/daveyx/bigquery-truncate-404


如果在流式管道仍在运行或在最近截断的表上执行流式插入时表被截断,您可能会收到问题中提到的一些错误(表被截断),这是预期的行为。 InsertAll(QPS非常高的API)的元数据一致性模式是最终一致的,这意味着在使用InsertAll API时,可能会出现表元数据延迟并返回表被截断等失败的情况。解决此问题的典型方法是后退并重试。

目前,BigQuery API 中没有选项可以检查表是否处于截断状态。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BigQuery:404“表被截断。”当在截断之后插入时 的相关文章

随机推荐

  • Linux 删除超过 1 年的文件夹和超过 3 个文件

    我正在编写一个 ant 脚本来清理存档文件夹 以下是我需要清理的方法 我需要删除超过一定天数的旧文件夹 并且其中包含超过 3 个文件 例如 如果某个文件夹已有 300 天的历史 但只有 3 个文件 则该文件夹不会被删除 我知道我可以通过 s
  • 使用记录 Haskell 进行泛型派生

    我基本上是想看看是否可以在 Haskell 中模拟 ORM 框架 这样如果用户想要创建数据库模型 他们会做这样的事情 data Car Car company String model String year Int deriving Mo
  • 从小部件启动/停止服务

    我想从小部件内部启动一项服务 我知道我可以使用 PendingIntent 来做到这一点 例如 PendingIntent intent PendingIntent getService context 0 new Intent conte
  • npm install 不能与 --prefix 一起使用

    看起来npm install prefix server 没有参数 不适用于 prefix旗帜 我只想安装 package json 中的所有软件包 该命令后我得到的只是 npm WARN enoent ENOENT 没有这样的文件或目录
  • HttpClient的默认最大连接数是多少

    HttpClient 是否使用与 HttpWebRequest 相同的 ServicePoint 连接限制 Thanks 答案并不完整 这取决于实施 在 net核心中ServicePointManager DefaultConnection
  • 在单独的程序集中使用 View 组件进行 ASP NET 5 本地化

    我有一个 类库 项目 上面有一些 ViewComponents 我已经让它们在我的 MVC 6 Web 应用程序 上工作 感谢这个问题 https stackoverflow com questions 34236850 asp net m
  • 如何使用 Python 解码 Angular 的自定义 HTML 编码

    我想抓取并解析伦敦证券交易所新闻文章 https www londonstockexchange com news article ESNT date for fy 2020 results announcement 14850033 网站
  • 如何获取 razor 视图引擎中集合中项目的元数据?

    我有一个项目写在C 位于 ASP NET MVC 5 框架的顶部 我试图将我的视图与视图模型分离 以便我可以使我的视图可重用 随着大量使用EditorTemplates我能够通过评估来创建所有标准视图 即创建 编辑和详细信息 ModelMe
  • 对大于 RAM 大小的数据进行排序

    这是谷歌面试问题 给定 2 台机器 每台机器都有 64 GB RAM 包含所有整数 8 字节 对整个 128 GB 数据进行排序 您可以假设有少量额外的 RAM 扩展此功能以对存储在 1000 台机器中的数据进行排序 我想出了外部排序 我们
  • Strongloop/loopback - 维护多个版本的 API

    我是第一次使用strongloop loopback 有一些基本的指导online https docs strongloop com display public LB Versioning your API用于 API 版本控制 var
  • 具有属性的 UML 建模枚举

    我想使用 Java 枚举 enum 创建一个 UML 图 它具有一个或多个属性 但我对如何做到这一点感到困惑 例如 可以这样声明枚举 public enum Enumeration type LITERAL A attr1 value at
  • ANSI C 编译器可以删除延迟循环吗?

    考虑 ANSI C 中的 while 循环 其唯一目的是延迟执行 unsigned long counter DELAY COUNT while counter 我已经看到这在嵌入式系统上被大量使用来强制延迟 例如 没有sleep功能和定时
  • C++ 构造函数中前导下划线的含义是什么?

    好吧 我不是一个非常有经验的 C 程序员 但我想知道以下构造函数的参数中下划线的意义是什么 class floatCoords public floatCoords float x float y float width float hei
  • PDO 返回所有行[重复]

    这个问题在这里已经有答案了 所以 现在我有一个 PHP 函数 它利用 PDO 返回特定表的第一行 这很好用 但我想返回所有信息 同时能够组织所有信息 我有桌子zip admins我正在尝试返回first name and last name
  • 使用 Google Maps API v3 循环遍历标记问题

    我不知道为什么这不起作用 我没有任何错误 但发生的情况是 无论我单击哪个标记 它总是单击最后一个标记 我不确定为什么 因为 the marker 的设置方式相同 我怎样才能解决这个问题 使用新的 jQuery XML 进行了更新 funct
  • 如何递归删除 UNIX 目录中的所有隐藏文件?

    我已经搜索了一段时间 但似乎无法得到简洁的解决方案 我有一台 Mac 其中有一个文件夹 我想清除该文件夹中的所有隐藏文件 目录 任何隐藏的内容 它曾经是一个包含大量 metadata svn 内容的 Eclipse 工作区 我很乐意将其全部
  • JDBC 驱动程序是否应该包含在 WAR 中?

    我们正在开发一个商业软件产品 它支持 Oracle MySQL 和 SQL Server 后端 我们也使用 H2 进行测试 我们使用特定版本的 JDBC 驱动程序针对这些不同的数据库进行集成测试 Maven 完美地处理了这一切 当将应用程序
  • HTTPS 使用非对称加密还是对称加密?

    我今天上午都在搜索 但我找到了一些网站 据说数据是 通过使用 TLS 协议的非对称加密发送的 然后我发现相反 请你告诉我哪个是真的 谢谢 有谁知道逐步解释 tls 协议通过 https 握手的指南吗 最好的答案是两者兼而有之 TLS 使用非
  • Dart HttpRequest 轮询

    我有一个网络应用程序 它有一个计时器 每 3 秒触发一次轮询以获取数据 它工作正常大约 2 5 分钟 然后 Chromium 崩溃了 我的请求 Dart 看起来像这样 HttpRequest getString data get load
  • BigQuery:404“表被截断。”当在截断之后插入时

    我通过执行此处描述的 queryJob 来截断我的表 https cloud google com bigquery docs quickstarts quickstart client libraries https cloud goog