2016-04-26 48 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

嗨,谢谢,我会试试这个 –