BigQuery:根据发行说明,EACH 仍然需要被弃用的思想

Posted

技术标签:

【中文标题】BigQuery:根据发行说明,EACH 仍然需要被弃用的思想【英文标题】:BigQuery: EACH still required thought deprecated according to release notes 【发布时间】:2015-10-10 18:43:03 【问题描述】:

我仍然收到表单错误:

错误:4.1 - 4.97:JOIN 运算符的右侧表必须是 小桌子。如果左侧表较小,则切换表,或 如果两个表都大于描述的最大值,则使用 JOIN EACH http://goo.gl/wXqgHs.

如果我尝试使用简单的 JOIN。

EACH 关键字本应在 8 月 25 日被弃用 (https://cloud.google.com/bigquery/release-notes?hl=en#08252015)。是否推迟推出?

我将尝试澄清我的困惑来自哪里:

此博客条目 http://googlecloudplatform.blogspot.com/2015/08/Google-BigQuery-adds-UDF-support-for-deeper-cloud-analytics.html 表示不再需要 EACH

动态查询优化。提高可靠性和性能 复杂的查询,例如大型 JOIN 或 GROUP BY 操作。你可以 希望在未来几周内看到您的项目被激活。用户将 不再需要指定EACH关键字,大大简化了 查询的编写,特别是对于那些 以编程方式生成 SQL,例如可视化工具和 仪表板

而且查询参考https://cloud.google.com/bigquery/query-reference中也不再提及

【问题讨论】:

我也一直在想这个问题。如果这确实被弃用了,我会非常高兴,因为我从来不理解向用户询问“你确定你想看到这些结果吗?你必须添加神奇的词” !” 我这里解释一下youtu.be/7XyfcDMU8kA?t=1573 嗯,你能告诉我们这里的要点吗?我能想到的唯一原因是它对谷歌来说成本很高,所以除非我们真的需要它,否则他们宁愿不让我们使用它。 【参考方案1】:

很可能您的查询有一些大的东西,或者一个大的连接爆炸,检查您的 ON 条件以验证您是否没有错过那里的限制性子句。

否则错误消息尚未更新,这就是它告诉您使用 EACH 的原因,但 EACH 键盘已被弃用。所以这里只有错误信息是模糊的,不是 EACH 关键字的使用。

您可以发布查询以改进它。

【讨论】:

该错误与右侧表格较大有关。在这些情况下,EACH 一直是必需的,但应该不再是必需的。 请注意,在某些情况下仍需要“EACH”。它必须消失,但仍有一些用例只能通过 EACH 解决。 @FelipeHoffa。我很困惑。引用的博客条目似乎表明不再需要 EACH,并且在查询参考中不再提及(见上文)。 EACH 灭亡的报道是否为时过早?

以上是关于BigQuery:根据发行说明,EACH 仍然需要被弃用的思想的主要内容,如果未能解决你的问题,请参考以下文章

TFS 2013 团队资源管理器扩展:发行说明数据

带有“Order Each by”子句的 Google BigQuery 大表(105M 记录)产生“资源超出查询执行”错误

BigQuery GROUP BY/GROUP EACH BY 资源超出错误,但查询不包含 GROUP BY 运算符

Bigquery - 根据时差删除行

如何在 bitbucket 中创建发行说明?

jQuery $.each用法