我正在使用BigQuery Java API将数据从一个表填充到另一个表中,以下是我正在使用的代码
Job insertJob = new Job();
JobConfiguration insertJobConfig = new JobConfiguration();
TableReference destinationTable = new TableReference();
destinationTable.setProjectId(projectId);
destinationTable.setDatasetId(datasetId);
destinationTable.setTableId(destinationBQTable);
JobConfigurationQuery queryConfig = new JobConfigurationQuery();
queryConfig.setQuery("select * from " + datasetId + Constant.PERIOD +sourceBQTable);
queryConfig.setDestinationTable(destinationTable);
queryConfig.setWriteDisposition("WRITE_TRUNCATE");
queryConfig.setPriority("BATCH");
insertJob.setConfiguration(insertJobConfig.setQuery(queryConfig));
Bigquery.Jobs.Insert request = bigqueryService.jobs().insert(projectId, insertJob);
Job response = request.execute();
return response.getJobReference().getJobId();
我遇到一个间歇性问题,我的目标表没有完全填充,例如,源表有189,856行,但目标表只有41,721行。我没有在日志中看到任何错误。
有没有人在使用BigQuery之前遇到过这种情况 - 一个看起来成功运行的查询但是如果指定了目标/引用表,结果却没有完全填充?
注意:我们在7月21日又遇到了这个问题,这次我还记录了工作ID,即:job_8zt5hHdsPhizl2RFZ9g57EMcgy0
谢谢, 阿曼