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

标签 google-bigquery java

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

com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request "message" : "11.3 - 11.56: Unrecognized type FLOAT64"

最佳答案

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

#standardSQL
SELECT ...
FROM YourTable;

第二个是将 useLegacySql 设置为 false 作为 QueryJobConfiguration 对象的一部分。例如(取 from the documentation ):

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

关于google-bigquery - 在 java bigquery API 中使用标准 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44146438/

相关文章:

google-cloud-platform - BigQuery - 删除日期分片表的最佳方式

python - Datalab 到 BigQuery - 将变量值插入 SQL 中

java - 如何添加计时器来更改 java 中 JTextPane 的文本?

node.js - 了解大查询表

sql - bigquery 按最接近的前一个值左连接

google-bigquery - 在 google-bigquery 中,如何获取按大小排序的表列表?

java - setImageResource() 问题 - 如何实现文件路径?

java - com.mysql.jdbc.MysqlDataTruncation : Data truncation: Data too long for column 'DATE' at row 1

java - 无法启动 Tomcat 7 : NoSuchMethodError getSessionCookieConfig()

java - 发生错误时读取谷歌电子表格