2017-03-29 57 views
1

將大型csv(或其他類型)文件導入BigQuery時,如何獲取導入的進度?例如,如果我們有一個1TB文件並使用import csv命令,那麼我不僅需要等待十小時才能導入文件。我們怎樣才能取得進展,或者這是不可能的?如何在BQ文件加載過程中取得進展

https://cloud.google.com/bigquery/loading-data

現在,我們無法得到它,直到csv文件已加載


關於進度條:

負載任務的具體統計數據是永遠不會回來,而任務正在進行中。統計信息只包含開始/結束時間,而Java API則將其解析爲CopyStatistics類。

{ 
"kind": "bigquery#job", 
"etag": "\"smpMas70-D1-zV2oEH0ud6qY21c/crKHebm6x2NXA6pCjE8znB7dp-E\"", 
"id": "YYY:job_l9TWVQ64YjKx7BgDufu2gReMEL0", 
"selfLink": "https://www.googleapis.com/bigquery/v2/projects/YYY/jobs/job_l9TWVQ64YjKx7BgDufu2gReMEL0", 
"jobReference": { 
    "projectId": "YYY", 
    "jobId": "job_l9TWVQ64YjKx7BgDufu2gReMEL0" 
}, 
"configuration": { 
    "load": { 
    "sourceUris": [ 
    "gs://datadocs/afdfb50f-cbc2-47d4-985e-080cadefc963" 
    ], 
    "schema": { 
    "fields": [ 
     ... 
    ] 
    }, 
    "destinationTable": { 
    "projectId": "YYY", 
    "datasetId": "1aaf1682dbc2403e92a0a0ed8534581f", 
    "tableId": "ORIGIN" 
    }, 
    "createDisposition": "CREATE_IF_NEEDED", 
    "writeDisposition": "WRITE_EMPTY", 
    "fieldDelimiter": ",", 
    "skipLeadingRows": 1, 
    "quote": "\"", 
    "maxBadRecords": 1000, 
    "allowQuotedNewlines": true, 
    "sourceFormat": "CSV" 
    } 
}, 
"status": { 
    "state": "RUNNING" 
}, 
"statistics": { 
    "creationTime": "1490868448431", 
    "startTime": "1490868449147" 
}, 
"user_email": "[email protected]" 
} 

只有在導入整個CSV文件時纔會返回加載統計信息。


我們如何在上傳過程中獲得進展?

回答

1

退房statistics.load.outputBytes

每文檔 - 而負荷作業處於運行狀態,該 值可能會改變

你可以用它進行試驗 - 如果這可以作爲進度公制通過致電Jobs: get

+0

不,看起來不起作用 - 請參閱更新的問題。 – David542

+0

我剛剛嘗試了更小的文件並獲得了相同的體驗,但認爲這可能是因爲小文件 - 希望這對於1TB文件會有所不同。感謝您更新您的結果!我認爲文檔中提到的「更改」對於多文件加載場景不正確(不太可能)或相關 - 在加載文件時從未有機會與我的環境一起使用(當我們移動到文件時不再那麼頻繁流媒體),我們確保他們高達256MB,然後在我們身邊處理進度 –

相關問題