首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询执行时间与Java查询调用之间的增量

查询执行时间与Java查询调用之间的增量
EN

Stack Overflow用户
提问于 2017-04-14 11:32:10
回答 1查看 172关注 0票数 3

上下文

  • 我们的集装箱集群位于@us-east1 1-c。
  • 我们正在使用以下Java库:google bigquery,0.9.2-beta
  • 我们的数据集大约有2600万行,表示~10G。
  • 我们的所有查询都返回少于100行,因为我们总是在特定列上分组。

问题

我们分析了在BigQuery中执行的最后100个查询,这些查询都是在2-3秒内执行的(我们通过调用bq -format=prettyjson显示-j JOBID,结束时间创建时间来分析这一点)。

然而,在我们的Java日志中,大多数对bigquery.query的调用都阻塞了5-6秒(10秒不是很平常的事情)。如何解释BigQuery集群中要完成的查询与Java中可用的结果之间的系统差距?我知道5-6秒并不是天文数字,但我很想知道在使用Java BigQuery云库时,这是否是一种正常行为。

我没有深入到使用Wireshark分析出站电话的地步。我们的所有测试都在容器集群(Kubernetes)中执行。

代码语言:javascript
复制
QueryRequest request = QueryRequest.newBuilder(sql)
                .setMaxWaitTime(30000L)
                .setUseLegacySql(false)
                .setUseQueryCache(false)
                .build();

QueryResponse response = bigquery.query(request);

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-04-20 16:28:05

简单地看一下这里的代码:https://github.com/GoogleCloudPlatform/google-cloud-java/blob/master/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryImpl.java

似乎有多个潜在的延误来源:

  • 获取查询结果
  • 重新启动(那里有一些自动重新启动,可以解释延迟峰值)
  • 检查新结果的频率

听起来,看一下Wireshark就能给你一个准确的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43410691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档