BigQuery - 如何提取插入作业错误

时间:2016-09-03 13:59:54

标签: google-bigquery

我指的是Jobs: insert页面并尝试使用响应对象获取错误。但是response.getStatus()。getErrorResult()总是返回null,即使加载不成功。如何提取错误

2 个答案:

答案 0 :(得分:2)

从回复中 - 您应该提取jobId,然后使用Jobs: get获取该作业的status.state。在这里你可以看到作业是完成(完成)还是没有(完成或跑步),所以这样做直到它完成,当它完成时 - 你可以查看status.errorResult最后一个错误或status.errors对于在作业运行期间遇到的所有错误

答案 1 :(得分:0)

发布米哈伊尔答案的代码,

    JobReference jobRef = insert.execute().getJobReference();
    System.out.println("Job ID is: " + jobRef.getJobId());

    Boolean Run_Status = true;
    while (Run_Status) {
        Job pollJob = bigquery.jobs().get(projectId, jobRef.getJobId()).execute();
        System.out.println("Job status: " + pollJob.getStatus().getState());
        if (pollJob.getStatus().getState().equals("DONE")) {
            System.out.println(pollJob.getStatus().getErrors());
            Run_Status = false;
        }
        Thread.sleep(1000);
    }