由于 order by 超出了 bigquery 资源限制

2024-01-24

当我运行以下查询时,出现“超出资源限制”错误。如果我删除最后一行(order by 子句),它会起作用:

SELECT
  id,
  INTEGER(-position / (CASE WHEN fallback = 0 THEN 2 ELSE 1 END)) AS major_sort
FROM (
  SELECT
    id,
    fallback,
    ROW_NUMBER() OVER(PARTITION BY fallback) AS position
  FROM
    [table] AS r
  ORDER BY
    r.score DESC ) AS r
ORDER BY major_sort DESC

实际上最后一行是:

ORDER BY major_sort DESC, r.score DESC

但这也不可能让事情变得更糟。

知道如何更改查询来避免这个问题吗?

((如果您想知道这个查询的作用:table包含具有多个后备策略的“排名”,我想创建这样的排序:“AABAABAABAAB”,其中“A”和“B”是后备策略。如果您有更好的想法如何实现这一目标;请随时告诉我:D))


一个顶级的ORDER BY将始终序列化查询的执行:它将强制所有计算到单个节点上以进行排序。这就是资源超出错误的原因。

我不确定我是否完全理解您的查询目标,因此很难提出替代方案,但您可以考虑放置一个ORDER BY内的条款OVER(PARTITION BY ...)条款。对单个分区进行排序可以并行完成,并且可能更接近您想要的结果。

有关订购的更一般建议:

  • BQ 查询期间不会保留顺序,因此如果您希望在输入行上保留顺序,请确保将其作为额外字段编码在数据中。

  • 大量全局排序数据的用例有些有限。通常当用户遇到资源限制时ORDER BY,我们发现他们实际上正在寻找稍微不同的东西(本地有序数据,或“前 N”),并且可以摆脱全局ORDER BY完全地。

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

由于 order by 超出了 bigquery 资源限制 的相关文章

  • Python:如何在 40 秒内更新 Google BigQuery 中的值?

    我有一张桌子在Google BigQuery我使用 Python 访问和修改pandas功能read gbq and to gbq 问题是追加 100 000 行大约需要 150 秒 而追加 1 行大约需要 40 秒 我想更新表中的值而不是
  • 从 Dataflow 进行流式传输时从 BigQuery 删除数据

    从 Apache Beam 管道加载数据时是否可以从 BigQuery 表中删除数据 我们的用例是这样的 我们需要根据时间戳字段 Dataflow 从 Pubsub 主题提取消息的时间 从表中删除 3 天前的数据 是否建议这样做 如果是 有
  • 分析云数据流 BigQuery 吞吐量/管道

    我试图弄清楚 DataFlow 如何扩展某些操作以及如何使其表现最佳 首先 我刚刚创建了一个简单的流程 从 BigQuery 读取数据 约 25M 行 总共 30GB 执行 JSON 提取 按键进行简单的分组 然后对分组进行聚合 每个约 1
  • BigQuery更新如何获取更新的行数

    我正在使用 Google Cloud Functions 连接到 Google Bigquery 数据库并更新一些行 云函数是使用Python 3编写的 当我通过函数运行更新 dml 时 我需要帮助弄清楚如何获取结果消息或更新 更改的行数
  • BigQuery 中的 EXP() 返回浮点错误

    我有以下查询 SELECT EXP col FROM project dataset tablename Where col is FLOAT 但是 我收到此错误 Error Floating point error in function
  • 使用 Airflow BigqueryOperator 向 BigQuery 表添加标签

    我必须向 bigquery 表添加标签 我知道可以通过 BigQuery UI 来完成此操作 但如何通过气流运算符来完成此操作 Use case 用于计费和搜索目的 由于多个团队在同一项目和数据集下工作 我们需要将各个团队创建的所有表组合在
  • 如何在 BigQuery 中取消透视?

    不确定要调用什么函数 但转置是我能想到的最接近的函数 I have a table in BigQuery that is configured like this 但我想查询一个配置如下的表 创建此表的 SQL 代码是什么样的 Thank
  • Firebase BigQuery 导出 - 历史数据

    当我尝试在 BigQuery 上搜索事件的历史数据时 我只能找到上周的事件 我无法在任何地方找到信息是否正确 或者我做错了什么 基本上我似乎只能查询过去一周的 events YYYYMMDD 它是否正确 您是否有机会在一周前从 Fireba
  • 以有效的方式从 BigQuery 读取到 Spark 中?

    使用时BigQuery 连接器 https cloud google com hadoop examples bigquery connector spark example要从 BigQuery 读取数据 我发现它首先将所有数据复制到 G
  • Google BigQuery 另存为表

    我用 Google BigQuery 运行了这个查询 SELECT repo id count as count FROM TABLE DATE RANGE githubarchive day events TIMESTAMP 2015 0
  • Google Bigquery 命令行返回限制

    我刚刚升级了 bigquery 命令行程序 现在运行查询时返回的行数受到限制 限制似乎是 100 行 在升级之前 我能够返回数千行 我正在使用Debian 有没有办法扩大返回行的限制 如果我可以提供更多信息 请告诉我 Try the max
  • 从 ISO 周中提取日期 (201905) BigQuery

    我需要从 ISO 周数中提取星期日的日期 即 201905 它需要位于 standardSQL 中 因为它将使用不支持旧版本的脚本进行调度 我尝试从 Google Sheets 调整工作公式 但无法弄清楚 Google Sheets 的原始
  • 将小数修剪到 2 位 Bigquery

    我当前正在运行一个查询 该查询运行 sum 函数并除以该数字 目前我得到的值例如 0 0904246741698848 和 1 6419814808335567 我希望这些小数被修剪到小数点后 2 个空格 他们的模式是一个浮点数 这是我的代
  • 导出BQ表时是否可以指定CSV引号字符?

    我使用以下命令导出表bq extract destination format CSV compression GZIP noprint header table table
  • bigquery DataFlow 错误:在 EU 中读写时无法在不同位置读写

    我有一个简单的 Google DataFlow 任务 它从 BigQuery 表中读取数据并写入另一个表 如下所示 p beam io Read beam io BigQuerySource query select dia import
  • 从 Google Apps 脚本运行保存的 bigquery 查询?

    我们经常使用 Google Apps 脚本来运行 BigQuery 查询并将其放入 Google Sheet 中 然而 工作流程很烦人 在 BigQuery 中运行查询 直到正确为止 复制 粘贴到文本编辑器以放入换行斜杠 在应用程序脚本中运
  • bq cmd 查询 Google Sheet 表出现“访问被拒绝:BigQuery BigQuery:未找到具有 Google Drive 范围的 OAuth 令牌”错误

    我有一个与Google Sheet连接的表 使用WebUI查询该表成功 但是如果我使用bq cmd查询 它将回显错误消息 访问被拒绝 BigQuery BigQuery Google Drive 没有 OAuth 令牌 范围已找到 我假设你
  • Bigquery dbt_external_tables 外部数据配置

    使用 dbt external tables 包时我需要一些帮助 我意识到 在 GCS 中的 csv 中 有些行似乎有换行符 这在尝试查询由宏创建的表时会导致一些问题 有时 手动配置外部表时 BigQuery UI 有两个选项 允许锯齿行
  • SHA-256 BigQuery 函数或 UDF

    有人有 UDF 或知道在 BigQuery 中支持 SHA 256 的计划吗 https cloud google com bigquery query reference syntax 16 https cloud google com
  • 使用显式值进行 BigQuery 合并

    据我所知 BigQuery 支持合并两个表 目前 INSERT操作允许将显式值插入表中 例如 INSERT dataset Inventory product quantity VALUES top load washer 10 front

随机推荐

  • 需要有关缩进、线程注释的 html/css 结构的建议

    我希望我的应用程序中有一个评论部分 如下所示 response1 response1a response1b response1b1 response2 response2a response2b response2c response2c
  • 是否有适用于 Netbeans 7.3 的谷歌应用程序引擎插件

    是否有适用于 Netbeans 7 3 的 google 应用引擎插件 我一直在寻找以前版本的旧链接 所有链接都不起作用 但我在任何地方都找不到该插件的新版本 我正在寻找创建一个基于 java 的谷歌应用程序引擎项目 在这里试试 https
  • R - WordCloud2 并不总是呈现最常见的单词

    我用wordcloud2渲染词云的包 看起来wordcloud2并不总是显示最常用的单词 我说 并不总是 因为问题不是永久性的 看来结果大多是随机的 Code library wordcloud2 library htmlwidgets D
  • Cocos2d 肖像模式在 iPhone 上不工作

    我正在构建一个 cocos2d 游戏 它应该处于纵向模式 我将 RootViewController m 更改为纵向模式 无论是在模拟器上还是在我的 iPad 上 一切都工作正常 然而 当我在 iPhone 上运行游戏时 它会默认回到横向模
  • 我如何知道警卫是否拒绝了转换

    我的转换配置如下参考文档 http docs spring io spring statemachine docs 1 2 0 RELEASE reference htmlsingle sm guards public void confi
  • SKStoreReviewController requestReview 对话框中缺少文本

    我正在尝试实现 StoreKit 的 requestReview API SKStoreReviewController requestReview 当对话框出现时 它缺少 正在享受 应用程序 和 点击一颗星即可在 App Store 上对
  • 使用 openpyxl 将图像插入 Excel

    我的电脑崩溃了 所以我不得不重新安装所有的库 完成安装后 我意识到一些库更新到了新版本 并且我的代码不再工作 由于 openpyxl 的新版本 我正在尝试将图像插入 Excel 文件 但我不明白出现的错误消息 其他问题似乎适用于旧版本的 o
  • 如果退出程序而不执行 fclose() 会发生什么?

    问题 如果我退出程序而不关闭文件会发生什么 是否发生了一些不好的事情 例如 某些操作系统级别的文件描述符数组未释放 两种情况下的答案相同 程序退出 意外崩溃 代码示例 对于程序退出 我的意思是这样的 int main fopen foo t
  • 有没有办法对分组进行加权平均滚动总和?

    我想对 DataFrame 应用加权和 过去我用过 for sec id sec df unidx in grouped if sec df unidx shape 0 gt 3 pd rolling sum sec df added co
  • 如何仅允许公开访问 firestore 文档的特定字段

    假设我在 firestore 数据库中有这个结构 collection document x x y y 我有这个 firebase 规则 service cloud firestore match databases database d
  • 第一次测试 Laravel 4 应用程序(PHPSpec/BDD 与 PHPUnit/TDD)

    我已经为这个问题苦苦思索太久了 我知道我需要跳入其中一个或另一个 因为它们显然都是可行 有用的工具 但几周来一直处于观望状态 对两者进行研究 PHPUnit http phpunit de vs PHPSpec http phpspec n
  • UNIX 数据报套接字向发送方返回数据

    有件事我无法集中注意力 我创建了一个unix数据报套接字 self socket socket socket socket AF UNIX socket SOCK DGRAM self socket bind SOCKET FILE 稍后在
  • VS 中插入字符串的热键或自动扩展

    在 VS 2015 2017 中输入 C 内插字符串时 我想节省一些击键次数 据我所知 没有任何内置功能 这里有些相关的问题 自动插入字符串 https stackoverflow com q 44166762 3546415 我现在正在确
  • Java 编译错误限制为 100

    我有一个 Java 文件 当我编译该文件时 在 java 编译器 javac 退出后 我将只能在控制台上看到前 100 个错误 我如何才能在控制台上看到所有编译错误 预先感谢 opensid 一般来说编译器会在100个错误后放弃 此后的大多
  • 为了一致性,控制台输出应该在每次计算时调用该函数?

    当我添加到图表或保存时 我的脚本最近刚刚开始在控制台中显示这些行 The function anonym function 10 should be called on each calculation for consistency It
  • 在 C++ 中使用 rand() 函数的正确方法是什么?

    我正在做一本书的练习 要求编写一个生成伪随机数的程序 我从简单开始 include std lib facilities h int randint int random 0 random rand return random int ma
  • ++ 和 *+ 是什么意思?

    我正在将一些库从 PHP 移植到 JavaScript 我遇到了这个正则表达式 其中的某些部分我不清楚 lt n n n lt gt gt lt 1 4 不清楚的部分是 我知道 这个表达式应该接受像这样的字符串 title class st
  • 除 1/n 总是返回 0.0 [重复]

    这个问题在这里已经有答案了 我正在尝试计算p1 1 1 1 2 1 n 但出了点问题printf给我0 000 0 include
  • R:计算两个点层之间的最短距离

    我需要计算两个点矩阵之间的最短距离 我是 R 新手 不知道如何做到这一点 这是我用来调用数据并将其转换为点的代码 library dismo laurus lt gbif Laurus nobilis locs lt subset laur
  • 由于 order by 超出了 bigquery 资源限制

    当我运行以下查询时 出现 超出资源限制 错误 如果我删除最后一行 order by 子句 它会起作用 SELECT id INTEGER position CASE WHEN fallback 0 THEN 2 ELSE 1 END AS