[ https://issues.apache.org/jira/browse/CRUNCH-588?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stephen Durfey updated CRUNCH-588: ---------------------------------- Attachment: (was: hfileutils_0.8.4.patch) > Modify HFileUtils to flex on affected regions for hfiles, rather than all > regions > --------------------------------------------------------------------------------- > > Key: CRUNCH-588 > URL: https://issues.apache.org/jira/browse/CRUNCH-588 > Project: Crunch > Issue Type: Improvement > Components: Core > Reporter: Stephen Durfey > Assignee: Josh Wills > > HFileUtils when preparing for writing HFiles sets the [number of reducers | > https://github.com/apache/crunch/blob/master/crunch-hbase/src/main/java/org/apache/crunch/io/hbase/HFileUtils.java#L422] > equal to the number of regions in the table, and then writes out the start > keys for each region to a sequence file for the TotalOrderPartitioner to > consume when partitioning data. This can result in a very large quantity of > reducers that don't do anything due to not having any data to write to hfiles > for the region its partition belonged to. > My proposal is to modify HFileUtils, with an optional parameter (or a config, > that's up for debate) to determine which regions data will be loaded into > ahead of time, and set the number of reducers to equal the number of regions, > and only write out the start keys for those affected regions. > I have working code to do this on the 0.8.x branch of crunch, as that is what > I am currently on. I can modify it to work on more recent versions, but I > wanted to start a discussion around the viability of this code being > contributed back to the community. I am still in process of capturing metrics > around the impact of the change (and trying to get data large enough to test > this out), but at least from a reducer count I have seen substantial drops in > my limited testing so far. For example, I had a job go from 705 reduce tasks > during the write down to 36 reduce tasks. > I've attached what I have so far as of 0.8.4. I'm going to start working on a > version modified for the latest version of crunch. -- This message was sent by Atlassian JIRA (v6.3.4#6332)