在 java bigquery API 中使用标准 SQL 查询

Dzo*_*uSi 2 java google-bigquery

使用 java bigquery API 时是否可以使用标准 SQL 查询?我正在尝试执行查询,但它抛出

com.google.api.client.googleapis.json.GoogleJsonResponseException:400 错误请求“消息”:“11.3 - 11.56:无法识别的类型 FLOAT64”

Ell*_*ard 5

有两种方法可以将标准 SQL 与 BigQuery Java API 结合使用。第一个是用 开始你的查询文本#standardSQL,例如:

#standardSQL
SELECT ...
FROM YourTable;
Run Code Online (Sandbox Code Playgroud)

二是集合useLegacySqlfalse作为一部分QueryJobConfiguration对象。例如(取自文档):

public static void runStandardSqlQuery(String queryString)
    throws TimeoutException, InterruptedException {
  QueryJobConfiguration queryConfig =
      QueryJobConfiguration.newBuilder(queryString)
          // To use standard SQL syntax, set useLegacySql to false.
          // See: https://cloud.google.com/bigquery/sql-reference/
          .setUseLegacySql(false)
          .build();

  runQuery(queryConfig);
}
Run Code Online (Sandbox Code Playgroud)