【问题标题】:How to retrieve number of rows updated while performing the update operation using Java Bigquery API如何在使用 Java Bigquery API 执行更新操作时检索更新的行数
【发布时间】:2020-10-01 07:23:09
【问题描述】:

我们正在使用 Bigquery API https://github.com/googleapis/java-bigquery 我正在尝试使用以下代码 sn-p 执行更新操作:

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() 在更新时不返回任何值。它返回选择操作中的行数。

我正在寻找可以告诉我 Bigquery 表中更新的行数的 API。

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

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

此外,如果出现任何错误,BigQuery V2 API 用于返回 queryResponse.getErrors() 你也可以帮忙吗?

环境: Java 1.8

谷歌云大查询

谢谢,

【问题讨论】:

    标签: java google-bigquery


    【解决方案1】:

    我终于弄清楚了..它是如何工作的..下面是代码sn-p。

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

    【讨论】:

      猜你喜欢
      • 2015-06-13
      • 1970-01-01
      • 1970-01-01
      • 2020-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-09
      相关资源
      最近更新 更多