[GreenPlum] GP报错:ERROR: number of workfiles per query limit exceeded

GreenPlum版本:4.3

问题:ERROR: number of workfiles per query limit exceeded
1.可能导致文件溢出过多的原因包括:
1>数据倾斜太严重
2>可供分配内存太低

 

2.可用的解决方法:
1>改变SQL查询语句、优化
2>改变数据分布,避免倾斜太严重
3>调整系统memory配置
3.具体步骤:
3.1查看数据分布的方法,然后借此来进行SQL优化或者数据重分布
1>查看分布键:
\d+meta-command
2>查看数据分布:

SELECT gp_segment_id, count(*)
FROM table_name GROUP BY gp_segment_id;

3>查看对于单个query的数据倾斜

SELECT gp_segment_id, count(*) FROM table_name
WHERE column='value' GROUP BY gp_segment_id;

3.2如果你确定你的SQL确实需要创建更多的溢出文件,那么可考虑修改gp_workfile_limit_files_per_query参数

$ gpconfig -c gp_workfile_limit_files_per_query -v 256GB

修改后需要重启gp

分类上一篇:     分类下一篇:

Leave a Reply