BigQuery Java API“.jobs()。insert()”部分填充目标表

时间:2017-07-07 16:05:27

标签: google-bigquery

我正在使用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

谢谢, 阿曼

0 个答案:

没有答案