2016-04-26 97 views
1

我想使用templateSuffix將數據從我的java代碼傳輸到BigQuery表,但是我無法使其正常工作。我的代碼:來自java的數據流插入:templateSuffix

return bigquery.tabledata() 
     .insertAll(
       projectId, 
       datasetId, 
       tableId, 
       new TableDataInsertAllRequest() 
         .setTemplateSuffix(templateSuffix) 
         .setRows(singletonList(row)) 
     ).execute(); 

當我和專案編號,資料集,MyTable20160426和20160426運行它,我得到的錯誤:

"message" : "404 Not found: Table projectId:datasetId.MyTable20160426" 

當我和專案編號,資料集,MyTable的和20160426運行它,我得到錯誤:

"message" : "404 Not found: Table projectId:datasetId.MyTable" 

MyTable的已經存在的表,已經是模板上的日期(我用GCS批量上傳)(20160426是今天的日期)

我如何使它工作?

我應該在哪裏瞭解哪些問題?

感謝

+0

另外,我在哪裏提供架構?我無法找到它在Java API的流 –

回答

1

首先,基表projectId:datasetId.MyTable應該存在,應該已經有一個模式。這是BigQuery知道如何找到創建的模板表的模式。

其次,您應通過MyTable而不是MyTable20160426作爲請求中的表ID。

第三,緩存表的存在(或不存在)。因此,如果您收到「找不到」的錯誤,然後創建表格,您仍會在半小時內收到「未找到」錯誤。

這聽起來像你可能會等待,然後再試一次。如果這不起作用,請提供您正在使用的實際項目,數據集和表ID,並通過電子郵件將詳細信息發送至[email protected],我可以幫助您瞭解正在發生的事情。

+0

嗨,謝謝,我會試試這個 –