2017-02-28 84 views
1

我正在使用bigquery.go庫。Bigquery.go導出作業比WebGUI慢很多

在調查一些性能時,我發現從客戶端啓動的導出(.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) 

回答

3

的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工程師儘快檢查。但沒有適當的細節,我們可以假設你的測量是錯誤的。

+0

你是對的,當我用cli工具運行它時,持續時間很長,比我計算的短得多,所以我期望它連接到wait()調用或類似的地方。 – Zanndorin