sql - 运行查询时出错 查询执行期间超出资源
问题描述
当我在 GBQ 中运行该查询时,我收到此错误:
运行查询时出错
查询执行期间超出资源:没有足够的资源用于查询计划 - 子查询太多或查询太复杂.. at [1:1]
下面的代码不是我开发的,所以我很难重写它。如果你能帮助我让它再次运行,我会听听。
execute immediate (select concat('create or replace table `ssmdw-208309.temp_piwik_and_ga.005_visitor_union` as ',query) from (select string_agg(CONCAT(' select substr(generate_uuid(),25,12) as rowid, ',columns,' from `piwik-272210.piwik.',table_name,'`'),'\nUnion all\n') query FROM (
SELECT
table_column.table_name,
STRING_AGG(CASE
WHEN x.column_name IS NULL THEN CONCAT('null as ',table_column.column_name)
ELSE
table_column.column_name
END
,', '
ORDER BY
table_column.column_name) columns
FROM (
SELECT
tables.table_name,
columns.column_name
FROM (
SELECT
DISTINCT column_name
FROM
`piwik-272210.piwik.INFORMATION_SCHEMA.COLUMNS` a where table_name like 'visitor_%') columns
FULL OUTER JOIN (
SELECT
DISTINCT table_name
FROM
`piwik-272210.piwik.INFORMATION_SCHEMA.COLUMNS` b where table_name like 'visitor_%') tables
ON
(1=1)) table_column
LEFT JOIN
`piwik-272210.piwik.INFORMATION_SCHEMA.COLUMNS` x
ON
(x.table_name = table_column.table_name
AND x.column_name = table_column.column_name)
GROUP BY
1 )))
解决方案
尽可能避免使用“order by”子句。“排序依据”尝试将结果拉到一个通常会导致此问题的节点中。
推荐阅读
- ruby - Rails 使用 has_many 自我引用一个模型
- php - 为什么今天的工作日加二不工作?
- android-studio - 颤动的android studio 4.1无法找到adb
- apache-kafka - Kafka连接过滤器jsonpath的问题
- python - 如何在 matplotlib / seaborn 中缩放直方图条的高度?
- android - 在 xml 中更改颜色并使 TextView 的粗体部分
- twig - 克隆 Shopware 6 CMS 元素
- linux - 我们如何在 Linux 上运行 .net core c# Tesseract 代码
- postgresql - 在当前范围内没有为 struct `schema::todos::table` 找到名为 `table` 的函数或关联项
- html - HTML“Div”不能在小显示器上显示全高