首页 > 解决方案 > 在这个比例因子上查询耗尽的资源

问题描述

我正在尝试将一个非常大的表(5200 万行)加入一个包含 11,553,668,111 个观察值的大表,但只有两列

简单的左连接命令会出错,并显示“在此比例因子下查询耗尽的资源”。

-- create smaller table to save $$
CREATE TABLE targetsmart_idl_data_mi_pa_maid AS 
SELECT targetsmart_idl_data_pa_mi_pa.idl,  targetsmart_idl_data_pa_mi_pa.grouping_indicator, targetsmart_idl_data_pa_mi_pa.vb_voterbase_dob, targetsmart_idl_data_pa_mi_pa.vb_voterbase_gender, targetsmart_idl_data_pa_mi_pa.ts_tsmart_urbanicity, targetsmart_idl_data_pa_mi_pa.ts_tsmart_high_school_only_score,
targetsmart_idl_data_pa_mi_pa.ts_tsmart_college_graduate_score, targetsmart_idl_data_pa_mi_pa.ts_tsmart_partisan_score, targetsmart_idl_data_pa_mi_pa.ts_tsmart_presidential_general_turnout_score, targetsmart_idl_data_pa_mi_pa.vb_voterbase_marital_status, targetsmart_idl_data_pa_mi_pa.vb_tsmart_census_id, 
targetsmart_idl_data_pa_mi_pa.vb_voterbase_deceased_flag,  idl_maid_base.maid
FROM targetsmart_idl_data_pa_mi_pa
LEFT JOIN idl_maid_base
    ON targetsmart_idl_data_pa_mi_pa.idl = idl_maid_base.idl

标签: amazon-athena

解决方案


我能够通过将大表作为驱动表来克服这个问题

例如。

select col1, col2 from table a join table b on a.col1 =b.col1

表 a 很小,只有不到 1000 条记录,而表 b 有数百万条记录。上面的查询报错了

将查询重写为

select col1, col2 from table b join table a on a.col1 =b.col1

推荐阅读