bigquery - 自定义字段上的分区 - 仅适用于标准SQL?

时间:2018-02-15 11:16:46

标签: google-bigquery partitioning legacy-sql

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

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

有没有办法从Legacy查询新表?

enter image description here

2 个答案:

答案 0 :(得分:3)

就在documentation的开头,在限制中说你没有Legacy SQL支持。

分区表受以下限制:

  • 分区列必须是标量DATE或TIMESTAMP 柱。虽然列的模式可能是必需的或可空的,但它 不能重复(基于数组)。另外,分区 列必须是顶级字段。你不能使用a的叶子字段 RECORD(STRUCT)作为分区列。
  • 您无法使用旧版SQL 查询分区表或将查询结果写入分区 表。
  • 查询分区时无法使用通配符表 表。
  • 您不能使用DML语句来修改分区表。

答案 1 :(得分:0)

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

var projectId = 'xxxxxxx';
    
var request = {
  query: 'select * from project.database.table',
  useLegacySql: false
};
var queryResults = BigQuery.Jobs.query(request, projectId);