如何在使用Java Bigquery API执行更新操作时检索更新的行数

如何在使用Java Bigquery API执行更新操作时检索更新的行数,java,google-bigquery,Java,Google Bigquery,我们正在使用BigQueryAPI 我正在尝试使用以下代码段执行更新操作: String dmlQuery = String.format("update dataset.Student set Stud_Name = \"Shruti11\", Stud_Class=\"II\" where Stud_Id = 300", datasetName, tableName); QueryJobConfiguration dmlQueryConfig =

我们正在使用BigQueryAPI 我正在尝试使用以下代码段执行更新操作:

String dmlQuery = String.format("update dataset.Student  set Stud_Name = \"Shruti11\", Stud_Class=\"II\" where Stud_Id = 300", datasetName, tableName);

            QueryJobConfiguration dmlQueryConfig =
                    QueryJobConfiguration.newBuilder(dmlQuery).build();

            // Execute the query.
            TableResult result = bigquery.query(dmlQueryConfig);

            System.out.println("Total rows affected :" + result.getTotalRows());

            System.out.println("Table updated successfully using DML");
在上面的代码中,
result.getTotalRows()
在更新时不返回任何值。它返回select操作中的行数

我正在寻找一个API,它可以告诉我Bigquery表中更新的行数

在使用BigQueryV2 API时,我能够跟踪使用
queryResponse.getNumDmlAffectedRows()更新的行数

你能告诉我这里类似的API吗?我们需要知道受影响行的数量

此外,如果出现任何错误,BigQueryV2 API将用于返回
queryResponse.getErrors()
你也能帮忙吗

环境: Java 1.8

谷歌云大查询


谢谢,

我终于明白了。。工作原理。。下面是代码片段

public void query() throws InterruptedException {
    String dmlQuery =
        String.format(
            "update exploreTest.Student  set Stud_Name = \"Shruti11\", Stud_Class=\"II\" where Stud_Id = 300");
    QueryJobConfiguration dmlQueryConfig = QueryJobConfiguration.newBuilder(dmlQuery).build();

    // Execute the query.
    Job job = bigQuery.create(JobInfo.of(dmlQueryConfig));
    job = job.waitFor();
    JobStatistics.QueryStatistics statistics = job.getStatistics();
    TableResult result = job.getQueryResults();
    long numDmlAffectedRows = statistics.getNumDmlAffectedRows();
    System.out.println(numDmlAffectedRows);
  }