2012-06-13 70 views
0

我使用以下命令加載數據。確保數據已加載

/home/bigquery/bq load --max_bad_record=30000 -F '^' company.junelog entry.gz country:STRING,telco_name:STRING,datetime:STRING, ... 

它發生了,當我得到非零返回代碼的數據仍然加載。我如何確保命令成功與否?檢查返回代碼似乎沒有幫助。有時我再次加載相同的文件,因爲我有一個錯誤,但數據已經在bigquery中可用。

回答

1

您可以使用加載作業的bq show -j並檢查作業狀態。 如果您正在編寫代碼來執行加載,所以您不知道作業ID,您可以將作業ID傳遞到加載操作(只要它是唯一的),以便您知道要檢查哪個作業。

例如,您可以運行

/home/bigquery/bq load --job_id=some_unique_job_id --max_bad_record=30000 -F '^' company.junelog entry.gz country:STRING,telco_name:STRING,datetime:STRING, ...'

然後 /home/bigquery/bq show --j some_unique_job_id

注意如果要爲每個負載創建新表(而不是追加),你可以使用寫配置WRITE_EMPTY到確保只有在表格爲空時才執行加載操作,從而防止兩次添加相同的數據。這在bq.py中不直接支持,但您可以使用底層bigquery_client.py來進行此調用,或直接使用REST API。

+0

#致命標誌解析錯誤:未知命令行標誌'job_id'#運行'bq help'獲取幫助##/home/bigquery/bq版本 ##這是BigQuery CLI v2.0.4 – shantanuo