Google Cloud BigQuery:检索查询结果错误



当我尝试从BigQuery数据集获取计数时,它会抛出如下错误:

com.google.cloud.bigquery.BigQueryException: java.lang.NoSuchMethodError: com.google.gson.JsonParser.parseString(Ljava/lang/String;)Lcom/google/gson/JsonElement;

代码:

public static void main(String[] args) {
    final String datasetName = "users";
    String query =
        " SELECT count(1) "
            + " FROM preprod.users.records"
            + " WHERE section_id = 'sectionId'";
    query(query);
  }
  public static void query(String query) {
    try {
      BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();
      QueryJobConfiguration queryConfig = QueryJobConfiguration.of(query);
      TableResult results = bigquery.query(queryConfig);
      results
          .iterateAll()
          .forEach(row -> row.forEach(val -> System.out.printf("%s,", val.toString())));
      System.out.println("Query performed successfully.");
    } catch (BigQueryException | InterruptedException e) {
      System.out.println("Query not performed n" + e.toString());
    }
  }

版本:

    implementation platform('com.google.cloud:libraries-bom:26.1.4')
    implementation group: 'com.google.cloud', name: 'google-cloud-bigquery', version: '2.18.2'

我参考了https://cloud.google.com/bigquery/docs/reference/libraries#client-libraries-install-java

我刚刚通过添加一个名为"gson"图书馆:

implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.9'

最新更新