You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "liyunzhang_intel (JIRA)" <ji...@apache.org> on 2016/07/04 02:13:11 UTC

[jira] [Issue Comment Deleted] (PIG-4601) Implement Merge CoGroup for Spark engine

     [ https://issues.apache.org/jira/browse/PIG-4601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

liyunzhang_intel updated PIG-4601:
----------------------------------
    Comment: was deleted

(was: explain more about why there are difference when loading multiple splits in spark and mr. In MR, org.apache.hadoop.mapreduce.JobSubmitter#writeNewSplits will sort the splits into order based on size while in spark this will not happen.
{code}
writeNewSplits () {
List<InputSplit> splits = input.getSplits(job);
    //...
    T[] array = (T[]) splits.toArray(new InputSplit[splits.size()]);

    // sort the splits into order based on size, so that the biggest
    // go first
    Arrays.sort(array, new SplitComparator());
    JobSplitWriter.createSplitFiles(jobSubmitDir, conf, 
        jobSubmitDir.getFileSystem(conf), array);
}
{code})

> Implement Merge CoGroup for Spark engine
> ----------------------------------------
>
>                 Key: PIG-4601
>                 URL: https://issues.apache.org/jira/browse/PIG-4601
>             Project: Pig
>          Issue Type: Sub-task
>          Components: spark
>    Affects Versions: spark-branch
>            Reporter: Mohit Sabharwal
>            Assignee: liyunzhang_intel
>             Fix For: spark-branch
>
>         Attachments: PIG-4601_1.patch, PIG-4601_2.patch, PIG-4601_3.patch, PIG-4601_4.patch
>
>
> When doing a cogroup operation, we need do a map-reduce. The target of merge cogroup is implementing cogroup only by a single stage(map). But we need to guarantee the input data are sorted.
> There is performance improvement for cases when A(big dataset) merge cogroup B( small dataset) because we first generate an index file of A then loading A according to the index file and B into memory to do cogroup. The performance improves because there is no cost of reduce period comparing cogroup.
> How to use
> {code}
> C = cogroup A by c1, B by c1 using 'merge';
> {code}
> Here A and B is sorted.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)