将 table_date_range 翻译成 table_suffix 无效,因为响应太大

Translation table_date_range to table_suffix does not work because response is too large

我在 BigQuery Legacy SQL 中有以下查询。到目前为止,此查询 运行s 没有问题。

#legacySQL
SELECT
  Var1 AS Var1,
  Var2 AS Var2,
  Var3 AS Var3,
  Var4 AS Var4,

FROM
TABLE_DATE_RANGE([xxx.yyy_],   DATE_ADD(CURRENT_TIMESTAMP(), -33, 'DAY'), DATE_ADD(CURRENT_TIMESTAMP(), -1, 'DAY'))

在我们想要将所有查询逐步迁移到 StandardSQL 之后,新查询已在 StandardSQL 中编写如下。

#standardSQL
SELECT
  Var1 AS Var1,
  Var2 AS Var2,
  Var3 AS Var3,
  Var4 AS Var4,

FROM
`xxx.yyy_20*`

WHERE

parse_date('%y%m%d', _table_suffix) between DATE_ADD(CURRENT_DATE(), INTERVAL -33 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)

但是,此查询不再 运行,而带有 LegacySQL 的变体工作正常。我收到以下错误消息:错误:对 return 的响应太大。考虑在作业配置中将 allowLargeResults 设置为 true。

带有 _table_suffix 的变体的性能会差很多吗?或者有其他选择吗?我使用 Table_Date_Range 查询大约 400 tables.

我想将结果保存为视图,而不必通过 "AllowLargeResults".

将它们写入 table

非常感谢!

创建视图应该没有问题。但是,当您查询视图时,您要么需要 select 特定日期,要么将结果写入 table.