gpt4 book ai didi

out-of-memory - Apache pig : OutOfMemory exception with simple GROUP BY in local mode

转载 作者:行者123 更新时间:2023-12-01 05:33:22 24 4
gpt4 key购买 nike

当我尝试在一个很小的(3KB)随机生成的示例数据集上执行一个非常简单的 GROUP BY 时,我从 Pig 收到 OutOfMemory 异常。

pig 脚本:

$ cat example.pig
raw =
LOAD 'example-data'
USING PigStorage()
AS (thing1_id:int,
thing2_id:int,
name:chararray,
timestamp:long);

grouped =
GROUP raw BY thing1_id;

DUMP grouped;

数据:
$ cat example-data
281906 13636091 hide 1334350350
174952 20148444 save 1334427826
1082780 16033108 hide 1334500374
2932953 14682185 save 1334501648
1908385 28928536 hide 1334367665
[snip]

$ wc example-data
100 400 3239 example-data

开始了:
$ pig -x local example.pig

[snip]

java.lang.OutOfMemoryError: Java heap space
at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.<init>(MapTask.java:949)
at org.apache.hadoop.mapred.MapTask$NewOutputCollector.<init>(MapTask.java:674)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:756)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)

[snip]

还有一些额外的信息:
$ apt-cache show hadoop | grep Version
Version: 1.0.2

$ pig --version
Apache Pig version 0.9.2 (r1232772)
compiled Jan 17 2012, 23:49:20

$ echo $PIG_HEAPSIZE
4096

在这一点上,我觉得我一定做错了什么,因为我看不出 3 kB 的文本会导致堆填满的任何原因。

最佳答案

检查这个:[链接] http://sumedha.blogspot.in/2012/01/solving-apache-pig-javalangoutofmemorye.html

尼尔,你说得对,让我解释一下:在 bin/pig 脚本文件中,源代码是:

JAVA_HEAP_MAX=-Xmx1000m

# 检查可能覆盖默认参数的 envvars

if [ "$PIG_HEAPSIZE"!= ""];然后
JAVA_HEAP_MAX="-Xmx""$PIG_HEAPSIZE""m"


它仅使用 -Xmx 开关将 Java_heap_size 设置为 maxium(“x”),但我不知道为什么此脚本覆盖不起作用,这就是原因,我要求您使用参数直接指定 java 堆大小作为链接中指定。我没有时间检查为什么会出现这个问题。如果有人有想法,请在此处发布。

关于out-of-memory - Apache pig : OutOfMemory exception with simple GROUP BY in local mode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10165648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com