[
https://issues.apache.org/jira/browse/PIG-4601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15104865#comment-15104865
]
liyunzhang_intel commented on PIG-4601:
---------------------------------------
[~mohitsabharwal]:
about your question:
{quote}
Could you clarify if POSort adds a new shuffle stage ?
Also, could you clarify if the merge co-group SparkPlan contains exactly one
SparkOperator ? IOW, how many total Spark jobs get executed for merge co-group?
{quote}
POSort adds a new shuffle stage. When we use cogroup A and B, there is 1
shuffle stage which contains the data of A and B. When we use mergeCogroup A
and B, there is 1 shuffle stage which contains only the data of A. The merge
cogroup spark plan contains two spark nodes which generates two spark
jobs(scope-57, scope-59 see the example i used in above comment).
> 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
>
>
> 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)