我只是在 BigQuery 上阅读分区表,无法找出最佳实践部分。我尝试运行以下
#standardSQL
SELECT *
FROM `myproject.affiliate.log_20170101`
WHERE _PARTITIONTIME BETWEEN TIMESTAMP_TRUNC(TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 * 24 HOUR),DAY)
AND TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(),DAY);
Run Code Online (Sandbox Code Playgroud)
基于此文档链接
但我收到这个错误,
Error: Unrecognized name: _PARTITION_TIME;
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?这与通配符查询有何不同?
我究竟做错了什么?
从下面开始 - 我假设您实际上不是在使用分区表,而是在使用分片表
FROM `myproject.affiliate.log_20170101`
Run Code Online (Sandbox Code Playgroud)
要处理 BigQuery Standard SQL 中的分表,您应该使用_TABLE_SUFFIX
这与通配符查询有何不同?
分片表是一组日常表,命名为 tablename_YYYYMMDD,可以使用Legacy SQL 中的Table 通配符函数或标准 SQL 中的 _TABLE_SUFFIX进行查询
分区表是内部按天分区的调表
归档时间: |
|
查看次数: |
4229 次 |
最近记录: |