安排在集群表BigQuery

时间:2020-05-19 17:03:07

标签: google-bigquery

我有以下查询查询,我只是想每天追加数据,但这给了我一个错误:

SELECT
  PARSE_DATE('%Y%m%d',event_date) AS fecha,
  indicador
FROM `TABLE_*`
WHERE _TABLE_SUFFIX BETWEEN 
  FORMAT_DATE("%Y%m%d", DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)) AND 
  FORMAT_DATE("%Y%m%d", DATE_SUB(CURRENT_DATE(), INTERVAL 0 DAY))
GROUP BY
  event_date,indicador

错误:

不兼容的表分区规范。目标表 存在分区规范间隔(类型:DAY,字段:fecha) 聚类(指示符),但传输目标分区规范 是interval(type:DAY,field:fecha)。请更新后重试 目标表或传输分区规范。

目的地表:

表类型:已分区 分区依据:日期 在字段上进行了分区: fecha 分区过滤器:不需要 聚集者:指标

我认为“聚类”存在问题,是否有办法在集群表上消除插入(追加)?

1 个答案:

答案 0 :(得分:1)

我想您可能需要了解一个事实,接近 clustered 计划查询机制尚不支持Bigquery write表>操作,已在此堆栈thread中进行了讨论。

作为解决方法,我建议两个选择:

  • 在初始查询中使用INSERT SELECT DML statement 而不是在创建目标时指定目标表 通过将写首选项字段保留为空白来安排查询, 不会触发任何WriteDisposition函数。
  • 我已将目标表分区字段用作以下内容中的空组成计划查询 与我类似的用例,即使定义了目标表,它也帮助我省略了您报告的相同问题。

请让我知道上述建议是否可以帮助您解决问题。