impala shell执行SQL语句时报错
Memory limit exceeded: Could not allocate memory while trying to increase reservation.
mem_limit参数:(内存限制)
由守护程序本身强制执行的 Impala Daemon 的内存限制(以字节为单位)。如果达到该限制,Impalad Daemon 上运行的查询可能会被停止。将其留空可以让 Impala 选择自己的限制。使用 -1 B 值将指定无任何限制。
default_pool_mem_limit参数:(单池内存限制)
配置使用单个池时用于 Admission Control 的运行查询的最大内存。-1 或 0 表示无限制。已启用“用于 Admission Control 的动态资源池”时忽略。
总结:
一般调大 mem_limit参数或者将内存限制取消参数置为-1B即可。或
去配置文件修改 Impala Daemon 内存限制 mem_limit=-1b
单池内存限制 default_pool_mem_limit=-1b
将执行报错的SQL使用HIVE去执行,新建一张临时表存储结果数据,再将临时表数据写入最后的目标表中。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有