pig-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Cheolsoo Park (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (PIG-3634) Improve performance of order-by
Date Wed, 01 Jan 2014 00:08:50 GMT

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

Cheolsoo Park resolved PIG-3634.
--------------------------------

    Resolution: Fixed

Committed to tez branch. Thank you Daniel!

FYI-
I made WeightedRangeParitioner throw a runtime exception when it fails to deserialize PigContext.
{code}
try {
    pigContext = (PigContext)ObjectSerializer.deserialize(job.get("pig.pigContext"));
} catch (IOException e) {
   throw new RuntimeException("Failed to deserialize pig context: ", e);
}
{code}
The exception used to be swallowed by the catch block resulting in pigContext being null.
It seems better to fail early in this case.

I ran all the e2e and unit tests before committing.

> Improve performance of order-by
> -------------------------------
>
>                 Key: PIG-3634
>                 URL: https://issues.apache.org/jira/browse/PIG-3634
>             Project: Pig
>          Issue Type: Sub-task
>          Components: tez
>            Reporter: Daniel Dai
>            Assignee: Daniel Dai
>             Fix For: tez-branch
>
>         Attachments: PIG-3634-0.patch, PIG-3634-1.patch, PIG-3634-2.patch, PIG-3634-3.patch
>
>
> This is a followup for PIG-3534. In PIG-3534, we use 5 vertexes (3 DAGs) to implement
an order-by. We can optimize to use 4 vertexes in 1 DAG:
> vertex 1: close the current vertex, create input + samples input
> vertex 2: aggregate samples to create quantiles
> vertex 3: use quantiles to partition input
> vertex 4: sort input after partition
> The DAG is:
> {code}
> vertex 1   ------------------>  vertex 3 ------> vertex 4
>            \--> vertex 2 ---/
> {code}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message