BigQuery - 如何修改示例Github java示例程序(LoadDataCsvSample.java)以显示错误

时间:2016-09-03 12:01:30

标签: google-bigquery

我正在引用LoadDataCSVSample.java程序,当我定义正确的架构和CSV数据时,我能够将CSV数据加载到BigQuery中。但是当我提供不正确的数据时,我会收到“正在加载!”的消息。但数据未加载,我无法看到错误。如何修改此示例程序以捕获错误?

2 个答案:

答案 0 :(得分:1)

我认为这个例子在作业完成后缺少分析错误(" Load Is Done")。 工作处于待定或运行或完成状态 工作完成的事实并不能说明它是成功还是失败

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

答案 1 :(得分:0)

添加到Mikhail的答案,这是代码,

    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);
    }