[ https://issues.apache.org/jira/browse/MAPREDUCE-64?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12804855#action_12804855 ]
Chris Douglas commented on MAPREDUCE-64: ---------------------------------------- The failing test, {{TestTaskTrackerBlacklist}}, is not related. Filed MAPREDUCE-1412. bq. mapreduce.map.sort.record.percent and mapreduce.map.sort.spill.percent should be mapreduce.map.sort.record.fraction and mapreduce.map.sort.spill.fraction , respectively. They scale from 0.0 to 1.0, not from 0.0 to 100.0 or to 100 . There are a number of floats ranging from 0 to 1 in the configuration named \*.percent, so this will remain consistent. Since there is a large renaming/deprecation of variables is in 0.21 (MAPREDUCE-849), feel free to pursue this point in a separate issue covering all instances. > Map-side sort is hampered by io.sort.record.percent > --------------------------------------------------- > > Key: MAPREDUCE-64 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-64 > Project: Hadoop Map/Reduce > Issue Type: Bug > Reporter: Arun C Murthy > Assignee: Chris Douglas > Attachments: M64-0.patch, M64-0i.png, M64-1.patch, M64-1i.png, > M64-2.patch, M64-2i.png, M64-3.patch, M64-4.patch, M64-5.patch, M64-6.patch, > M64-7.patch, M64-8.patch, M64-9.patch > > > Currently io.sort.record.percent is a fairly obscure, per-job configurable, > expert-level parameter which controls how much accounting space is available > for records in the map-side sort buffer (io.sort.mb). Typically values for > io.sort.mb (100) and io.sort.record.percent (0.05) imply that we can store > ~350,000 records in the buffer before necessitating a sort/combine/spill. > However for many applications which deal with small records e.g. the > world-famous wordcount and it's family this implies we can only use 5-10% of > io.sort.mb i.e. (5-10M) before we spill inspite of having _much_ more memory > available in the sort-buffer. The word-count for e.g. results in ~12 spills > (given hdfs block size of 64M). The presence of a combiner exacerbates the > problem by piling serialization/deserialization of records too... > Sure, jobs can configure io.sort.record.percent, but it's tedious and > obscure; we really can do better by getting the framework to automagically > pick it by using all available memory (upto io.sort.mb) for either the data > or accounting. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.