[
https://issues.apache.org/jira/browse/PIG-1721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Dai updated PIG-1721:
----------------------------
Attachment: PIG-1721-0.patch
PIG-1721-0.patch give the idea how to fix it. It is not a full patch. Also
notice this patch is only for 0.8, cuz LogicalExpPlanMigrationVistor is gone in
0.9, I will coordinate with Xuefu to see whether to solve it in parser or
LogToPhyTranslationVisitor.
> New logical plan: script fail when reuse foreach inner alias
> ------------------------------------------------------------
>
> Key: PIG-1721
> URL: https://issues.apache.org/jira/browse/PIG-1721
> Project: Pig
> Issue Type: Bug
> Components: impl
> Affects Versions: 0.8.0
> Reporter: Daniel Dai
> Assignee: Daniel Dai
> Fix For: 0.8.0
>
> Attachments: PIG-1721-0.patch
>
>
> The following script fail:
> {code}
> a = load '1.txt' as (a0:int, a1:map[]);
> b = filter a by a0==1;
> c = FOREACH b {
> b0 = a1#'key1';
> generate ((b0 is null or b0 == '')?1:0);
> }
> dump c;
> {code}
> In the foreach inner plan, b0 is used twice.
> Error message:
> java.lang.ClassCastException: org.apache.pig.data.BinSedesTuple cannot be
> cast to java.util.Map
> at
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POMapLookUp.getNext(POMapLookUp.java:100)
> at
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POMapLookUp.getNext(POMapLookUp.java:117)
> at
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POIsNull.getNext(POIsNull.java:72)
> at
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POOr.getNext(POOr.java:67)
> at
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POBinCond.getNext(POBinCond.java:172)
> at
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach.processPlan(POForEach.java:355)
> at
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach.getNext(POForEach.java:291)
> at
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase.runPipeline(PigMapBase.java:236)
> at
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase.map(PigMapBase.java:231)
> at
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase.map(PigMapBase.java:53)
> at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
> at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:621)
> at org.apache.hadoop.mapred.MapTask.run(MapTask.java:305)
> at
> org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:177)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.