1

我刚刚看到我可以custom partitioned在 BigQuery 中创建一个表。含义由任何timestamp列分区。

但是,新创建的表只能从中访问和查询StandardSQL

有没有办法从旧版查询新表?

在此处输入图像描述

4

2 回答 2

4

就在文档的开头说限制您没有旧版 SQL 支持。

分区表受到以下限制:

  • 分区列必须是标量 DATE 或 TIMESTAMP 列。虽然列的模式可能是 REQUIRED 或 NULLABLE,但它不能是 REPEATED(基于数组)。此外,分区列必须是顶级字段。您不能将 RECORD (STRUCT) 中的叶字段用作分区列。
  • 您不能使用旧版 SQL 查询分区表或将查询结果写入分区表。
  • 查询分区表时不能使用通配符表。
  • 您不能使用 DML 语句来修改分区表。
于 2018-02-15T12:09:59.277 回答
0

您只需将 LegacySql 声明为false,例如:

var projectId = 'xxxxxxx';
    
var request = {
  query: 'select * from project.database.table',
  useLegacySql: false
};
var queryResults = BigQuery.Jobs.query(request, projectId);
于 2021-04-07T17:37:21.170 回答