【发布时间】:2013-06-18 07:36:02
【问题描述】:
我们在一个小的(16M 行)不同的表和一个大的(6B 行)倾斜表之间有一个猪连接。
常规连接在 2 小时内完成(经过一些调整)。我们尝试了using skewed 并且能够将性能提高到 20 分钟。
但是,当我们尝试更大的倾斜表(19B 行)时,我们会从 SAMPLER 作业中收到以下消息:
Split metadata size exceeded 10000000. Aborting job job_201305151351_21573 [ScriptRunner]
at org.apache.hadoop.mapreduce.split.SplitMetaInfoReader.readSplitMetaInfo(SplitMetaInfoReader.java:48)
at org.apache.hadoop.mapred.JobInProgress.createSplits(JobInProgress.java:817) [ScriptRunner]
每次我们尝试using skewed 时都可以重现这种情况,并且在我们使用常规连接时不会发生这种情况。
我们尝试设置mapreduce.jobtracker.split.metainfo.maxsize=-1,我们可以在job.xml文件中看到它,但它并没有改变任何东西!
这里发生了什么?这是using skewed 创建的分发示例的错误吗?为什么将参数更改为-1 没有帮助?
【问题讨论】:
-
决定提交一个jira bug:issues.apache.org/jira/browse/PIG-3411,会更新
-
我们发现改变mapreduce.jobtracker.split.metainfo.maxsize已知在job级别不起作用,只在jobTracker级别起作用,见这里:groups.google.com/a/cloudera.org/forum/#!topic/cdh-user/…
-
你有没有找到解决这个问题的方法?我们面临着类似的问题。
-
@KennethJ,我不这么认为,而且这个错误似乎仍然存在..
标签: hadoop apache-pig skew