当我尝试从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'