[
https://issues.apache.org/jira/browse/PIG-161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12591608#action_12591608
]
Shravan Matthur Narayanamurthy commented on PIG-161:
----------------------------------------------------
I haven't gotten fully through this, but I have a couple of comments:
1) We need to be using the combiner aggressively out of the gate. I expect
MRCompiler is the place you'll want to use it. It should be handling placing
things in the compile stage. If you want to do it in a second pass over the
MROpPlan after MRCompiler is done, I think that's fine. But we need to have
this as part of our initial work. I'd like to resolve whether we're going to do
the combiner in MRCompiler or a separate pass before I commit this code.
wasn't sure if they
[shrav] - I was thinking that these and other optimizations would go into a
separate optimization layer which would operatre on the MROpPlan. That way, we
do not cloud the translation logic with optimizations. I have also put in some
basic infrastructure like the combine plan in the MROper and methods giving
access to the map and reduce plan as well. Also there are methods to access the
input plan and the compiled plan in the MRCompiler. I am sure there might be
others needed for the optimizer to function efficiently. But I feel that there
is enough flexibility to incorporate them.
2) In several places in MRCompiler you have unexpected if/else chains ending in
'log.warn("didn't expect this")'. These should be runtime exceptions I suspect.
[shrav] Yeah, you are right. I will change them.
3) Rather than the MergeException you created, let's create a general
PlanException. I can then change OperatorPlan to throw that instead of an
IOException, and you can use it in your merge stuff. I'll make that change.
[shrav] Sure
[ Show ยป ]
Alan Gates - 21/Apr/08 01:52 PM I haven't gotten fully through this, but I have
a couple of comments: 1) We need to be using the combiner aggressively out of
the gate. I expect MRCompiler is the place you'll want to use it. It should be
handling placing things in the compile stage. If you want to do it in a second
pass over the MROpPlan after MRCompiler is done, I think that's fine. But we
need to have this as part of our initial work. I'd like to resolve whether
we're going to do the combiner in MRCompiler or a separate pass before I commit
this code. 2) In several places in MRCompiler you have unexpected if/else
chains ending in 'log.warn("didn't expect this")'. These should be runtime
exceptions I suspect. 3) Rather than the MergeException you created, let's
create a general PlanException. I can then change OperatorPlan to throw that
instead of an IOException, and you can use it in your merge stuff. I'll make
that change.
> Rework physical plan
> --------------------
>
> Key: PIG-161
> URL: https://issues.apache.org/jira/browse/PIG-161
> Project: Pig
> Issue Type: Sub-task
> Reporter: Alan Gates
> Assignee: Alan Gates
> Attachments: arithmeticOperators.patch, incr2.patch, incr3.patch,
> incr4.patch, incr5.patch, MRCompilerTests_PlansAndOutputs.txt,
> Phy_AbsClass.patch, physicalOps.patch, podistinct.patch, pogenerate.patch,
> pogenerate.patch, pogenerate.patch, posort.patch
>
>
> This bug tracks work to rework all of the physical operators as described in
> http://wiki.apache.org/pig/PigTypesFunctionalSpec
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.