amazon-athena - 在这个比例因子上查询耗尽的资源
问题描述
我正在尝试将一个非常大的表(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
解决方案
我能够通过将大表作为驱动表来克服这个问题
例如。
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
推荐阅读
- reporting-services - CloudFlare 源证书在 SSRS 上配置
- reactjs - React App 在构建中没有媒体文件
- android - Jetpack Compose 中约束布局的权重
- python - 如何从 tif 使用 python netCDF4 创建 netCDF 文件?
- python - 使用 pandas 平衡数据集
- python - 模型中的 Django 3 动态默认值
- python - 带有 .toml 配置和预提交钩子的 Flakehell
- list - 我应该如何删除列表中的非数字使用序言
- python - 为 Djoser 中未激活的用户返回适当的错误
- ruby-on-rails - 如何使用表单在 Ruby on Rails 中设置参数值(对于 Scope)?