2014-04-01 62 views
1

我试图将数据从BigQuery的导出到GCS使用曾研发代码:为什么BigQuery导出作业会产生内部错误?

logger.log("Exporting BigQuery data for date:" + dayString + "<br/>"); 

JobConfigurationExtract extractConfig = new JobConfigurationExtract(); 
extractConfig.setDestinationFormat("NEWLINE_DELIMITED_JSON"); 
String applicationId = ServerUtils.getApplicationId(); 
String dataFile = "gs://"+applicationId+"_analytics/" + accountName + "-" + dayString + "-*.json"; 
extractConfig.setDestinationUri(dataFile); 

String tableName = dayString.replaceAll("-","_"); 
TableReference bigQuerytableToExtractFrom = new TableReference().setProjectId(BigQueryUtils.PROJECT_NUMBER).setDatasetId(getDatasetName(accountName)).setTableId(tableName); 

extractConfig.setSourceTable(bigQuerytableToExtractFrom); 

JobConfiguration config = new JobConfiguration().setExtract(extractConfig); 
Job job = new Job().setConfiguration(config); 
Job queuedJob = BigqueryUtils.getClient().jobs().insert(BigQueryUtils.PROJECT_NUMBER, job).execute(); 


String jobIdString = queuedJob.getJobReference().getJobId(); 
jobIdString = jobIdString.substring(jobIdString.indexOf(':')+1); 

return jobIdString; 

然而,今天的作业信息总是返回:

今天
{"errorResult":{"message":"Unexpected. Please try again.","reason":"internalError"},"errors":[{"message":"Unexpected. Please try again.","reason":"internalError"}],"state":"DONE"} 

是BigQuery的有问题?如果有的话,是否有预计要修复的ETA?

按奔腾10的建议,这里有一些失败的作业ID:job_nGY3gTVibV07Y38PWJRIQ79SxaE,job_lJJBUibG_W42Lrl8Bwux0_RD_yw,

+0

我们如何知道答案? –

+2

请添加失败的作业ID。 @RobertHarvey有来自Bigquery的支持人员在回顾这些Q&A,他们会回答。 – Pentium10

+0

@ Pentium10:我们拭目以待。 –

回答

4

啊......问题是,你要导出表已经通过流进口写入。这目前不起作用,因为我们的导出流水线不知道如何读取流缓冲区。我提交了一个错误。

作为一种解决方法,如果您复制表格(通过bq cp,通过Web UI),它应该生成一个可导出的表格,但可能会丢失最后几分钟的数据。如果你想要一个绝对最新版本的表格,你可以用allowLargeResults和一个目标表格运行一个select *查询,然后导出它。

相关问题