【问题标题】:Bigquery.go export job much slower than WebGUIBigquery.go 导出作业比 WebGUI 慢得多
【发布时间】:2017-02-28 13:15:48
【问题描述】:

我正在使用 bigquery.go 库。

在调查一些性能时,我发现从客户端启动的导出(.csv 到 GCS)作业(和仅导出作业)平均需要大约 60 秒,而从 WebGUI 开始的相同作业大约需要 20 秒。这可能是什么原因?

代码如下:

time1 := time.Now()
job_extract, err := extractor.Run(ctx)
if err != nil {
    return err
}

status, err = job_extract.Wait(ctx)
if err != nil {
    return err
}

if status.Err() != nil {
    log.Fatalf("Job failed with error %v", status.Err())
    return status.Err()
}

time2 := time.Since(time1)

【问题讨论】:

    标签: performance go google-bigquery google-cloud-storage


    【解决方案1】:

    WEB UI 通常具有轮询机制来检查作业何时完成,因此您可能会看到更长的时间。通常,导出到 GCS 的文件会比作业在 WebUI 中实际完成的时间早。

    为确保并查看准确的时间安排,请使用cli tool 获取最近的工作:

    bq  ls -j -a --max_results=15
    

    运行它会显示一个包含作业 ID 和相应时间的表格。

                   jobId                Job Type    State      Start Time      Duration
     --------------------------------- ---------- --------- ----------------- ----------
      bquijob_1864e679_15a84d8878a      query      SUCCESS   28 Feb 07:11:06   0:00:04
      bquijob_770b512_15a84d8122c       query      FAILURE   28 Feb 07:10:35   0:00:00
      bquijob_de0df03_15a84d6a4fa       query      FAILURE   28 Feb 07:09:02   0:00:00
      bquijob_52c4f7d7_15a84d660e6      query      FAILURE   28 Feb 07:08:44   0:00:00
      bquijob_76a2c1be_15a84d5e769      query      FAILURE   28 Feb 07:08:13   0:00:00
      bquijob_7f51dde5_15a84d55afb      query      SUCCESS   28 Feb 07:07:41   0:00:08
      bquijob_34f25864_15a84d50503      query      SUCCESS   28 Feb 07:07:18   0:00:08
      job_Ca0cuRTAjY7MEHAs7vTJMxtVYTs   query      SUCCESS   28 Feb 07:00:47   0:00:09
      job_hHfmcdwyBsPsYF5dDvvOdR1Rmd0   load       SUCCESS   28 Feb 07:00:26   0:00:20
      job_mkiLf_mFHLKSplGJOtg-XDKzvv4   load       SUCCESS   28 Feb 02:52:50   0:00:02
      job_3RsPvttxWwv3SzVoOI9Cv_2yWtA   query      SUCCESS   27 Feb 21:18:40   0:00:08
      job_JLsqJO0NEIlKNac6jkDWbwneGMg   extract    SUCCESS   27 Feb 11:35:04   0:00:17
      job_KOS7vKX4aX0FNbK6dibE7cxzcQA   query      SUCCESS   27 Feb 11:33:44   0:00:37
      bquijob_44046bec_15a802f703a      query      SUCCESS   27 Feb 09:27:48   0:00:07
      job_2qQ6YSWeXaP2y2doONQJsIoga3c   query      SUCCESS   27 Feb 08:53:20   0:00:06
    

    您可以通过这种方式检查提取作业 DURATION。如果您确认这确实是一个问题,请尽快/稍后将此类表格发布到您的问题中,以便 Google 工程师对其进行检查。但如果没有适当的细节,我们只能假设您的测量是错误的。

    【讨论】:

    • 你是对的,当我通过 cli 工具运行它时,持续时间比我计算的要短得多,所以我希望它连接到 wait() 调用或类似调用。
    猜你喜欢
    • 2011-10-27
    • 1970-01-01
    • 2013-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多