【问题标题】:slow performance of join in BigQueryBigQuery 中的联接性能缓慢
【发布时间】:2017-11-08 16:44:48
【问题描述】:

我最近的经验似乎表明,带连接的 BigQuery 的执行速度比只有一张表的要慢得多。通常大多数查询将在几分钟内完成。但是下面的连接查询需要 6000 多秒才能完成,其中 table1 有大约 10 亿行,table2 有大约 100 万行。

SELECT a.*, coalesce(b.field4, a.field3) 
FROM `table1` a left outer join `table2` b
on a.field1 = b.field1 and a.field2 = b.field2

只是想问问社区这是预期的还是需要进一步调查?

【问题讨论】:

  • 您是否使用“说明”选项卡检查了查询计划?它显示了时间的去向。
  • 是的,实际上大部分时间都花在了Compute最后阶段(Stage5)的一部分READ $80, $81, $82, $83, $84, ... FROM __SHUFFLE0 WRITE $80, $81, $82, $83, $84, ... TO __output
  • 有多少行被写入输出?您能否在问题的解释中包含慢速阶段(或全部)的屏幕截图?
  • 当然,刚刚添加到我的帖子中
  • 看起来查询不应该花很长时间来读/写十亿行。您可以使用示例作业 ID 尝试 submitting a bug report to the issue tracker,让 BigQuery 团队的人员查看。

标签: google-bigquery


【解决方案1】:

解决方案是指定一个目标表。这将使总时间减少到不到 200 秒。

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    • 2015-01-27
    • 2021-06-04
    • 2016-11-09
    相关资源
    最近更新 更多