未处理的内部错误。在pig中使用EXPLAIN时的Java堆空间

时间:2013-02-07 00:36:11

标签: java heap apache-pig

当我尝试使用以下声明时

explain -brief A;

我收到以下错误

2013-02-06 19:18:34,250 [Low Memory Detector] INFO     org.apache.pig.impl.util.SpillableMemoryManager - first memory handler call - Collection threshold init = 526123008(513792K) used = 349984528(341781K) committed = 699072512(682688K) max = 699072512(682688K)
2013-02-06 19:18:34,942 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2998: Unhandled internal error. Java heap space

我尝试通过添加选项

来增加堆空间大小
-Dmapred.child.java.opts=-Xmx4096m

但它不起作用。有什么想法吗?

感谢。 丹

1 个答案:

答案 0 :(得分:3)

  1. 使用

    增加PIG堆空间

    export PIG_HEAPSIZE=4096

  2. 尽管如此,如果您在虚拟机中运行PIG,请确保已为虚拟机分配超过4GB(或任何您想要设置的数量)的内存。假如你已经将X Gb分配给VM,那么增加堆大小超过X Gb将不会做任何事情。

    1. 此外,您正在使用的PIG版本可能存在问题
    2. 尝试使用较旧的猪释放。我在使用PIG-0.14.0时遇到了同样可重现的问题,但没有使用PIG-0.12.1