You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Neil Blue (JIRA)" <ji...@apache.org> on 2010/02/04 10:22:27 UTC
[jira] Created: (PIG-1221) Filter equality does not work for tuples
Filter equality does not work for tuples
----------------------------------------
Key: PIG-1221
URL: https://issues.apache.org/jira/browse/PIG-1221
Project: Pig
Issue Type: Bug
Components: impl
Affects Versions: 0.5.0
Environment: Windows and Linux. Java 1.6 hadoop 0.20.1
Reporter: Neil Blue
>From the documentation I understand that it should be possible to filter a relation based on the equality of tuples. http://wiki.apache.org/pig/PigTypesFunctionalSpec , http://hadoop.apache.org/pig/docs/r0.5.0/piglatin_reference.html#deref:
However with this data file
-- indext.txt:
(1,one) (1,ONE)
(2,two) (22, twentytwo)
(3,three) (3,three)
I run this pig script:
A = LOAD 'indext.txt' AS (t1:(a:int, b:chararray), t2:(a:int, b:chararray)); B = FILTER A BY t1==t2; DUMP B;
Expecting the output:
((3,three),(3,three))
However there is an error:
2010-02-03 09:05:20,523 [main] ERROR org.apache.pig.tools.grunt.Grunt
- ERROR 2067: EqualToExpr does not know how to handle type: tuple
> Pig Stack Trace
> ---------------
> ERROR 2067: EqualToExpr does not know how to handle type: tuple
> org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1066:
> Unable to
> open iterator for alias B
> at org.apache.pig.PigServer.openIterator(PigServer.java:475)
> at
> org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:
> 532)
> at
> org
> .apache
> .pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.
> java:190)
> at
> org
> .apache
> .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:166
> )
> at
> org
> .apache
> .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:142
> )
> at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:89)
> at org.apache.pig.Main.main(Main.java:397)
> Caused by: org.apache.pig.impl.logicalLayer.FrontendException: ERROR
> 1002:
> Unable to store alias B
> at org.apache.pig.PigServer.store(PigServer.java:530)
> at org.apache.pig.PigServer.openIterator(PigServer.java:458)
> ... 6 more
> Caused by: org.apache.pig.backend.executionengine.ExecException:
> ERROR 2067:
> EqualToExpr does not know how to handle type: tuple
> at
> org
> .apache
> .pig.backend.hadoop.executionengine.physicalLayer.expressionOperat
> ors.EqualToExpr.getNext(EqualToExpr.java:108)
> at
> org
> .apache
> .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> ors.POFilter.getNext(POFilter.java:148)
> at
> org
> .apache
> .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> .processInput(PhysicalOperator.java:231)
> at
> org
> .apache
> .pig.backend.local.executionengine.physicalLayer.counters.POCounte
> r.getNext(POCounter.java:71)
> at
> org
> .apache
> .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> .processInput(PhysicalOperator.java:231)
> at
> org
> .apache
> .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> ors.POStore.getNext(POStore.java:117)
> at
> org
> .apache
> .pig.backend.local.executionengine.LocalPigLauncher.runPipeline(Lo
> calPigLauncher.java:146)
> at
> org
> .apache
> .pig.backend.local.executionengine.LocalPigLauncher.launchPig(Loca
> lPigLauncher.java:109)
> at
> org
> .apache
> .pig.backend.local.executionengine.LocalExecutionEngine.execute(Lo
> calExecutionEngine.java:165)
Thanks
Neil
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (PIG-1221) Filter equality does not work for tuples
Posted by "Jeff Zhang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/PIG-1221?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jeff Zhang updated PIG-1221:
----------------------------
Attachment: PIG_1221.patch
Attach the patch for make Tuple and Map supported in filter statement
(both equal to and not equal to). I do not make tuple and map supported in GreaterThanExpr and LessThanExpr. Because I think the comparison meaning in less than and greater than is not clear for tuple and map.
> Filter equality does not work for tuples
> ----------------------------------------
>
> Key: PIG-1221
> URL: https://issues.apache.org/jira/browse/PIG-1221
> Project: Pig
> Issue Type: Bug
> Components: impl
> Affects Versions: 0.5.0
> Environment: Windows and Linux. Java 1.6 hadoop 0.20.1
> Reporter: Neil Blue
> Assignee: Jeff Zhang
> Attachments: PIG_1221.patch
>
>
> From the documentation I understand that it should be possible to filter a relation based on the equality of tuples. http://wiki.apache.org/pig/PigTypesFunctionalSpec , http://hadoop.apache.org/pig/docs/r0.5.0/piglatin_reference.html#deref:
> However with this data file
> -- indext.txt:
> (1,one) (1,ONE)
> (2,two) (22, twentytwo)
> (3,three) (3,three)
> I run this pig script:
> A = LOAD 'indext.txt' AS (t1:(a:int, b:chararray), t2:(a:int, b:chararray)); B = FILTER A BY t1==t2; DUMP B;
> Expecting the output:
> ((3,three),(3,three))
> However there is an error:
> 2010-02-03 09:05:20,523 [main] ERROR org.apache.pig.tools.grunt.Grunt
> - ERROR 2067: EqualToExpr does not know how to handle type: tuple
> > Pig Stack Trace
> > ---------------
> > ERROR 2067: EqualToExpr does not know how to handle type: tuple
> > org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1066:
> > Unable to
> > open iterator for alias B
> > at org.apache.pig.PigServer.openIterator(PigServer.java:475)
> > at
> > org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:
> > 532)
> > at
> > org
> > .apache
> > .pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.
> > java:190)
> > at
> > org
> > .apache
> > .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:166
> > )
> > at
> > org
> > .apache
> > .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:142
> > )
> > at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:89)
> > at org.apache.pig.Main.main(Main.java:397)
> > Caused by: org.apache.pig.impl.logicalLayer.FrontendException: ERROR
> > 1002:
> > Unable to store alias B
> > at org.apache.pig.PigServer.store(PigServer.java:530)
> > at org.apache.pig.PigServer.openIterator(PigServer.java:458)
> > ... 6 more
> > Caused by: org.apache.pig.backend.executionengine.ExecException:
> > ERROR 2067:
> > EqualToExpr does not know how to handle type: tuple
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.expressionOperat
> > ors.EqualToExpr.getNext(EqualToExpr.java:108)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> > ors.POFilter.getNext(POFilter.java:148)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> > .processInput(PhysicalOperator.java:231)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.physicalLayer.counters.POCounte
> > r.getNext(POCounter.java:71)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> > .processInput(PhysicalOperator.java:231)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> > ors.POStore.getNext(POStore.java:117)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalPigLauncher.runPipeline(Lo
> > calPigLauncher.java:146)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalPigLauncher.launchPig(Loca
> > lPigLauncher.java:109)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalExecutionEngine.execute(Lo
> > calExecutionEngine.java:165)
> Thanks
> Neil
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (PIG-1221) Filter equality does not work for
tuples
Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/PIG-1221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12879765#action_12879765 ]
Hadoop QA commented on PIG-1221:
--------------------------------
-1 overall. Here are the results of testing the latest attachment
http://issues.apache.org/jira/secure/attachment/12447317/PIG_1221.patch
against trunk revision 955028.
+1 @author. The patch does not contain any @author tags.
+1 tests included. The patch appears to include 6 new or modified tests.
+1 javadoc. The javadoc tool did not generate any warning messages.
+1 javac. The applied patch does not increase the total number of javac compiler warnings.
+1 findbugs. The patch does not introduce any new Findbugs warnings.
+1 release audit. The applied patch does not increase the total number of release audit warnings.
+1 core tests. The patch passed core unit tests.
-1 contrib tests. The patch failed contrib unit tests.
Test results: http://hudson.zones.apache.org/hudson/job/Pig-Patch-h7.grid.sp2.yahoo.net/340/testReport/
Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Pig-Patch-h7.grid.sp2.yahoo.net/340/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Console output: http://hudson.zones.apache.org/hudson/job/Pig-Patch-h7.grid.sp2.yahoo.net/340/console
This message is automatically generated.
> Filter equality does not work for tuples
> ----------------------------------------
>
> Key: PIG-1221
> URL: https://issues.apache.org/jira/browse/PIG-1221
> Project: Pig
> Issue Type: Bug
> Components: impl
> Affects Versions: 0.8.0
> Environment: Windows and Linux. Java 1.6 hadoop 0.20.1
> Reporter: Neil Blue
> Assignee: Jeff Zhang
> Fix For: 0.8.0
>
> Attachments: PIG_1221.patch
>
>
> From the documentation I understand that it should be possible to filter a relation based on the equality of tuples. http://wiki.apache.org/pig/PigTypesFunctionalSpec , http://hadoop.apache.org/pig/docs/r0.5.0/piglatin_reference.html#deref:
> However with this data file
> -- indext.txt:
> (1,one) (1,ONE)
> (2,two) (22, twentytwo)
> (3,three) (3,three)
> I run this pig script:
> A = LOAD 'indext.txt' AS (t1:(a:int, b:chararray), t2:(a:int, b:chararray)); B = FILTER A BY t1==t2; DUMP B;
> Expecting the output:
> ((3,three),(3,three))
> However there is an error:
> 2010-02-03 09:05:20,523 [main] ERROR org.apache.pig.tools.grunt.Grunt
> - ERROR 2067: EqualToExpr does not know how to handle type: tuple
> > Pig Stack Trace
> > ---------------
> > ERROR 2067: EqualToExpr does not know how to handle type: tuple
> > org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1066:
> > Unable to
> > open iterator for alias B
> > at org.apache.pig.PigServer.openIterator(PigServer.java:475)
> > at
> > org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:
> > 532)
> > at
> > org
> > .apache
> > .pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.
> > java:190)
> > at
> > org
> > .apache
> > .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:166
> > )
> > at
> > org
> > .apache
> > .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:142
> > )
> > at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:89)
> > at org.apache.pig.Main.main(Main.java:397)
> > Caused by: org.apache.pig.impl.logicalLayer.FrontendException: ERROR
> > 1002:
> > Unable to store alias B
> > at org.apache.pig.PigServer.store(PigServer.java:530)
> > at org.apache.pig.PigServer.openIterator(PigServer.java:458)
> > ... 6 more
> > Caused by: org.apache.pig.backend.executionengine.ExecException:
> > ERROR 2067:
> > EqualToExpr does not know how to handle type: tuple
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.expressionOperat
> > ors.EqualToExpr.getNext(EqualToExpr.java:108)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> > ors.POFilter.getNext(POFilter.java:148)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> > .processInput(PhysicalOperator.java:231)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.physicalLayer.counters.POCounte
> > r.getNext(POCounter.java:71)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> > .processInput(PhysicalOperator.java:231)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> > ors.POStore.getNext(POStore.java:117)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalPigLauncher.runPipeline(Lo
> > calPigLauncher.java:146)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalPigLauncher.launchPig(Loca
> > lPigLauncher.java:109)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalExecutionEngine.execute(Lo
> > calExecutionEngine.java:165)
> Thanks
> Neil
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (PIG-1221) Filter equality does not work for
tuples
Posted by "Alan Gates (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/PIG-1221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12880271#action_12880271 ]
Alan Gates commented on PIG-1221:
---------------------------------
+1
> Filter equality does not work for tuples
> ----------------------------------------
>
> Key: PIG-1221
> URL: https://issues.apache.org/jira/browse/PIG-1221
> Project: Pig
> Issue Type: Bug
> Components: impl
> Affects Versions: 0.8.0
> Environment: Windows and Linux. Java 1.6 hadoop 0.20.1
> Reporter: Neil Blue
> Assignee: Jeff Zhang
> Fix For: 0.8.0
>
> Attachments: PIG_1221.patch
>
>
> From the documentation I understand that it should be possible to filter a relation based on the equality of tuples. http://wiki.apache.org/pig/PigTypesFunctionalSpec , http://hadoop.apache.org/pig/docs/r0.5.0/piglatin_reference.html#deref:
> However with this data file
> -- indext.txt:
> (1,one) (1,ONE)
> (2,two) (22, twentytwo)
> (3,three) (3,three)
> I run this pig script:
> A = LOAD 'indext.txt' AS (t1:(a:int, b:chararray), t2:(a:int, b:chararray)); B = FILTER A BY t1==t2; DUMP B;
> Expecting the output:
> ((3,three),(3,three))
> However there is an error:
> 2010-02-03 09:05:20,523 [main] ERROR org.apache.pig.tools.grunt.Grunt
> - ERROR 2067: EqualToExpr does not know how to handle type: tuple
> > Pig Stack Trace
> > ---------------
> > ERROR 2067: EqualToExpr does not know how to handle type: tuple
> > org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1066:
> > Unable to
> > open iterator for alias B
> > at org.apache.pig.PigServer.openIterator(PigServer.java:475)
> > at
> > org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:
> > 532)
> > at
> > org
> > .apache
> > .pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.
> > java:190)
> > at
> > org
> > .apache
> > .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:166
> > )
> > at
> > org
> > .apache
> > .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:142
> > )
> > at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:89)
> > at org.apache.pig.Main.main(Main.java:397)
> > Caused by: org.apache.pig.impl.logicalLayer.FrontendException: ERROR
> > 1002:
> > Unable to store alias B
> > at org.apache.pig.PigServer.store(PigServer.java:530)
> > at org.apache.pig.PigServer.openIterator(PigServer.java:458)
> > ... 6 more
> > Caused by: org.apache.pig.backend.executionengine.ExecException:
> > ERROR 2067:
> > EqualToExpr does not know how to handle type: tuple
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.expressionOperat
> > ors.EqualToExpr.getNext(EqualToExpr.java:108)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> > ors.POFilter.getNext(POFilter.java:148)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> > .processInput(PhysicalOperator.java:231)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.physicalLayer.counters.POCounte
> > r.getNext(POCounter.java:71)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> > .processInput(PhysicalOperator.java:231)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> > ors.POStore.getNext(POStore.java:117)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalPigLauncher.runPipeline(Lo
> > calPigLauncher.java:146)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalPigLauncher.launchPig(Loca
> > lPigLauncher.java:109)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalExecutionEngine.execute(Lo
> > calExecutionEngine.java:165)
> Thanks
> Neil
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (PIG-1221) Filter equality does not work for
tuples
Posted by "Jeff Zhang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/PIG-1221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12880035#action_12880035 ]
Jeff Zhang commented on PIG-1221:
---------------------------------
I checked the test log, the errors from contrib tests do not related with this patch.
> Filter equality does not work for tuples
> ----------------------------------------
>
> Key: PIG-1221
> URL: https://issues.apache.org/jira/browse/PIG-1221
> Project: Pig
> Issue Type: Bug
> Components: impl
> Affects Versions: 0.8.0
> Environment: Windows and Linux. Java 1.6 hadoop 0.20.1
> Reporter: Neil Blue
> Assignee: Jeff Zhang
> Fix For: 0.8.0
>
> Attachments: PIG_1221.patch
>
>
> From the documentation I understand that it should be possible to filter a relation based on the equality of tuples. http://wiki.apache.org/pig/PigTypesFunctionalSpec , http://hadoop.apache.org/pig/docs/r0.5.0/piglatin_reference.html#deref:
> However with this data file
> -- indext.txt:
> (1,one) (1,ONE)
> (2,two) (22, twentytwo)
> (3,three) (3,three)
> I run this pig script:
> A = LOAD 'indext.txt' AS (t1:(a:int, b:chararray), t2:(a:int, b:chararray)); B = FILTER A BY t1==t2; DUMP B;
> Expecting the output:
> ((3,three),(3,three))
> However there is an error:
> 2010-02-03 09:05:20,523 [main] ERROR org.apache.pig.tools.grunt.Grunt
> - ERROR 2067: EqualToExpr does not know how to handle type: tuple
> > Pig Stack Trace
> > ---------------
> > ERROR 2067: EqualToExpr does not know how to handle type: tuple
> > org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1066:
> > Unable to
> > open iterator for alias B
> > at org.apache.pig.PigServer.openIterator(PigServer.java:475)
> > at
> > org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:
> > 532)
> > at
> > org
> > .apache
> > .pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.
> > java:190)
> > at
> > org
> > .apache
> > .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:166
> > )
> > at
> > org
> > .apache
> > .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:142
> > )
> > at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:89)
> > at org.apache.pig.Main.main(Main.java:397)
> > Caused by: org.apache.pig.impl.logicalLayer.FrontendException: ERROR
> > 1002:
> > Unable to store alias B
> > at org.apache.pig.PigServer.store(PigServer.java:530)
> > at org.apache.pig.PigServer.openIterator(PigServer.java:458)
> > ... 6 more
> > Caused by: org.apache.pig.backend.executionengine.ExecException:
> > ERROR 2067:
> > EqualToExpr does not know how to handle type: tuple
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.expressionOperat
> > ors.EqualToExpr.getNext(EqualToExpr.java:108)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> > ors.POFilter.getNext(POFilter.java:148)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> > .processInput(PhysicalOperator.java:231)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.physicalLayer.counters.POCounte
> > r.getNext(POCounter.java:71)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> > .processInput(PhysicalOperator.java:231)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> > ors.POStore.getNext(POStore.java:117)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalPigLauncher.runPipeline(Lo
> > calPigLauncher.java:146)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalPigLauncher.launchPig(Loca
> > lPigLauncher.java:109)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalExecutionEngine.execute(Lo
> > calExecutionEngine.java:165)
> Thanks
> Neil
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (PIG-1221) Filter equality does not work for tuples
Posted by "Jeff Zhang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/PIG-1221?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jeff Zhang updated PIG-1221:
----------------------------
Status: Patch Available (was: Open)
Affects Version/s: 0.8.0
(was: 0.5.0)
Fix Version/s: 0.8.0
> Filter equality does not work for tuples
> ----------------------------------------
>
> Key: PIG-1221
> URL: https://issues.apache.org/jira/browse/PIG-1221
> Project: Pig
> Issue Type: Bug
> Components: impl
> Affects Versions: 0.8.0
> Environment: Windows and Linux. Java 1.6 hadoop 0.20.1
> Reporter: Neil Blue
> Assignee: Jeff Zhang
> Fix For: 0.8.0
>
> Attachments: PIG_1221.patch
>
>
> From the documentation I understand that it should be possible to filter a relation based on the equality of tuples. http://wiki.apache.org/pig/PigTypesFunctionalSpec , http://hadoop.apache.org/pig/docs/r0.5.0/piglatin_reference.html#deref:
> However with this data file
> -- indext.txt:
> (1,one) (1,ONE)
> (2,two) (22, twentytwo)
> (3,three) (3,three)
> I run this pig script:
> A = LOAD 'indext.txt' AS (t1:(a:int, b:chararray), t2:(a:int, b:chararray)); B = FILTER A BY t1==t2; DUMP B;
> Expecting the output:
> ((3,three),(3,three))
> However there is an error:
> 2010-02-03 09:05:20,523 [main] ERROR org.apache.pig.tools.grunt.Grunt
> - ERROR 2067: EqualToExpr does not know how to handle type: tuple
> > Pig Stack Trace
> > ---------------
> > ERROR 2067: EqualToExpr does not know how to handle type: tuple
> > org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1066:
> > Unable to
> > open iterator for alias B
> > at org.apache.pig.PigServer.openIterator(PigServer.java:475)
> > at
> > org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:
> > 532)
> > at
> > org
> > .apache
> > .pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.
> > java:190)
> > at
> > org
> > .apache
> > .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:166
> > )
> > at
> > org
> > .apache
> > .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:142
> > )
> > at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:89)
> > at org.apache.pig.Main.main(Main.java:397)
> > Caused by: org.apache.pig.impl.logicalLayer.FrontendException: ERROR
> > 1002:
> > Unable to store alias B
> > at org.apache.pig.PigServer.store(PigServer.java:530)
> > at org.apache.pig.PigServer.openIterator(PigServer.java:458)
> > ... 6 more
> > Caused by: org.apache.pig.backend.executionengine.ExecException:
> > ERROR 2067:
> > EqualToExpr does not know how to handle type: tuple
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.expressionOperat
> > ors.EqualToExpr.getNext(EqualToExpr.java:108)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> > ors.POFilter.getNext(POFilter.java:148)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> > .processInput(PhysicalOperator.java:231)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.physicalLayer.counters.POCounte
> > r.getNext(POCounter.java:71)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> > .processInput(PhysicalOperator.java:231)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> > ors.POStore.getNext(POStore.java:117)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalPigLauncher.runPipeline(Lo
> > calPigLauncher.java:146)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalPigLauncher.launchPig(Loca
> > lPigLauncher.java:109)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalExecutionEngine.execute(Lo
> > calExecutionEngine.java:165)
> Thanks
> Neil
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (PIG-1221) Filter equality does not work for
tuples
Posted by "Jeff Zhang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/PIG-1221?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jeff Zhang reassigned PIG-1221:
-------------------------------
Assignee: Jeff Zhang
> Filter equality does not work for tuples
> ----------------------------------------
>
> Key: PIG-1221
> URL: https://issues.apache.org/jira/browse/PIG-1221
> Project: Pig
> Issue Type: Bug
> Components: impl
> Affects Versions: 0.5.0
> Environment: Windows and Linux. Java 1.6 hadoop 0.20.1
> Reporter: Neil Blue
> Assignee: Jeff Zhang
>
> From the documentation I understand that it should be possible to filter a relation based on the equality of tuples. http://wiki.apache.org/pig/PigTypesFunctionalSpec , http://hadoop.apache.org/pig/docs/r0.5.0/piglatin_reference.html#deref:
> However with this data file
> -- indext.txt:
> (1,one) (1,ONE)
> (2,two) (22, twentytwo)
> (3,three) (3,three)
> I run this pig script:
> A = LOAD 'indext.txt' AS (t1:(a:int, b:chararray), t2:(a:int, b:chararray)); B = FILTER A BY t1==t2; DUMP B;
> Expecting the output:
> ((3,three),(3,three))
> However there is an error:
> 2010-02-03 09:05:20,523 [main] ERROR org.apache.pig.tools.grunt.Grunt
> - ERROR 2067: EqualToExpr does not know how to handle type: tuple
> > Pig Stack Trace
> > ---------------
> > ERROR 2067: EqualToExpr does not know how to handle type: tuple
> > org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1066:
> > Unable to
> > open iterator for alias B
> > at org.apache.pig.PigServer.openIterator(PigServer.java:475)
> > at
> > org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:
> > 532)
> > at
> > org
> > .apache
> > .pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.
> > java:190)
> > at
> > org
> > .apache
> > .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:166
> > )
> > at
> > org
> > .apache
> > .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:142
> > )
> > at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:89)
> > at org.apache.pig.Main.main(Main.java:397)
> > Caused by: org.apache.pig.impl.logicalLayer.FrontendException: ERROR
> > 1002:
> > Unable to store alias B
> > at org.apache.pig.PigServer.store(PigServer.java:530)
> > at org.apache.pig.PigServer.openIterator(PigServer.java:458)
> > ... 6 more
> > Caused by: org.apache.pig.backend.executionengine.ExecException:
> > ERROR 2067:
> > EqualToExpr does not know how to handle type: tuple
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.expressionOperat
> > ors.EqualToExpr.getNext(EqualToExpr.java:108)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> > ors.POFilter.getNext(POFilter.java:148)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> > .processInput(PhysicalOperator.java:231)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.physicalLayer.counters.POCounte
> > r.getNext(POCounter.java:71)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> > .processInput(PhysicalOperator.java:231)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> > ors.POStore.getNext(POStore.java:117)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalPigLauncher.runPipeline(Lo
> > calPigLauncher.java:146)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalPigLauncher.launchPig(Loca
> > lPigLauncher.java:109)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalExecutionEngine.execute(Lo
> > calExecutionEngine.java:165)
> Thanks
> Neil
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (PIG-1221) Filter equality does not work for tuples
Posted by "Jeff Zhang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/PIG-1221?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jeff Zhang updated PIG-1221:
----------------------------
Status: Resolved (was: Patch Available)
Resolution: Fixed
> Filter equality does not work for tuples
> ----------------------------------------
>
> Key: PIG-1221
> URL: https://issues.apache.org/jira/browse/PIG-1221
> Project: Pig
> Issue Type: Bug
> Components: impl
> Affects Versions: 0.8.0
> Environment: Windows and Linux. Java 1.6 hadoop 0.20.1
> Reporter: Neil Blue
> Assignee: Jeff Zhang
> Fix For: 0.8.0
>
> Attachments: PIG_1221.patch
>
>
> From the documentation I understand that it should be possible to filter a relation based on the equality of tuples. http://wiki.apache.org/pig/PigTypesFunctionalSpec , http://hadoop.apache.org/pig/docs/r0.5.0/piglatin_reference.html#deref:
> However with this data file
> -- indext.txt:
> (1,one) (1,ONE)
> (2,two) (22, twentytwo)
> (3,three) (3,three)
> I run this pig script:
> A = LOAD 'indext.txt' AS (t1:(a:int, b:chararray), t2:(a:int, b:chararray)); B = FILTER A BY t1==t2; DUMP B;
> Expecting the output:
> ((3,three),(3,three))
> However there is an error:
> 2010-02-03 09:05:20,523 [main] ERROR org.apache.pig.tools.grunt.Grunt
> - ERROR 2067: EqualToExpr does not know how to handle type: tuple
> > Pig Stack Trace
> > ---------------
> > ERROR 2067: EqualToExpr does not know how to handle type: tuple
> > org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1066:
> > Unable to
> > open iterator for alias B
> > at org.apache.pig.PigServer.openIterator(PigServer.java:475)
> > at
> > org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:
> > 532)
> > at
> > org
> > .apache
> > .pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.
> > java:190)
> > at
> > org
> > .apache
> > .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:166
> > )
> > at
> > org
> > .apache
> > .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:142
> > )
> > at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:89)
> > at org.apache.pig.Main.main(Main.java:397)
> > Caused by: org.apache.pig.impl.logicalLayer.FrontendException: ERROR
> > 1002:
> > Unable to store alias B
> > at org.apache.pig.PigServer.store(PigServer.java:530)
> > at org.apache.pig.PigServer.openIterator(PigServer.java:458)
> > ... 6 more
> > Caused by: org.apache.pig.backend.executionengine.ExecException:
> > ERROR 2067:
> > EqualToExpr does not know how to handle type: tuple
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.expressionOperat
> > ors.EqualToExpr.getNext(EqualToExpr.java:108)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> > ors.POFilter.getNext(POFilter.java:148)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> > .processInput(PhysicalOperator.java:231)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.physicalLayer.counters.POCounte
> > r.getNext(POCounter.java:71)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> > .processInput(PhysicalOperator.java:231)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> > ors.POStore.getNext(POStore.java:117)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalPigLauncher.runPipeline(Lo
> > calPigLauncher.java:146)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalPigLauncher.launchPig(Loca
> > lPigLauncher.java:109)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalExecutionEngine.execute(Lo
> > calExecutionEngine.java:165)
> Thanks
> Neil
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (PIG-1221) Filter equality does not work for
tuples
Posted by "Ashutosh Chauhan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/PIG-1221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12829618#action_12829618 ]
Ashutosh Chauhan commented on PIG-1221:
---------------------------------------
Looking at code it seems we don't support equality on maps either, while specification tells us we should.
> Filter equality does not work for tuples
> ----------------------------------------
>
> Key: PIG-1221
> URL: https://issues.apache.org/jira/browse/PIG-1221
> Project: Pig
> Issue Type: Bug
> Components: impl
> Affects Versions: 0.5.0
> Environment: Windows and Linux. Java 1.6 hadoop 0.20.1
> Reporter: Neil Blue
>
> From the documentation I understand that it should be possible to filter a relation based on the equality of tuples. http://wiki.apache.org/pig/PigTypesFunctionalSpec , http://hadoop.apache.org/pig/docs/r0.5.0/piglatin_reference.html#deref:
> However with this data file
> -- indext.txt:
> (1,one) (1,ONE)
> (2,two) (22, twentytwo)
> (3,three) (3,three)
> I run this pig script:
> A = LOAD 'indext.txt' AS (t1:(a:int, b:chararray), t2:(a:int, b:chararray)); B = FILTER A BY t1==t2; DUMP B;
> Expecting the output:
> ((3,three),(3,three))
> However there is an error:
> 2010-02-03 09:05:20,523 [main] ERROR org.apache.pig.tools.grunt.Grunt
> - ERROR 2067: EqualToExpr does not know how to handle type: tuple
> > Pig Stack Trace
> > ---------------
> > ERROR 2067: EqualToExpr does not know how to handle type: tuple
> > org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1066:
> > Unable to
> > open iterator for alias B
> > at org.apache.pig.PigServer.openIterator(PigServer.java:475)
> > at
> > org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:
> > 532)
> > at
> > org
> > .apache
> > .pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.
> > java:190)
> > at
> > org
> > .apache
> > .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:166
> > )
> > at
> > org
> > .apache
> > .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:142
> > )
> > at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:89)
> > at org.apache.pig.Main.main(Main.java:397)
> > Caused by: org.apache.pig.impl.logicalLayer.FrontendException: ERROR
> > 1002:
> > Unable to store alias B
> > at org.apache.pig.PigServer.store(PigServer.java:530)
> > at org.apache.pig.PigServer.openIterator(PigServer.java:458)
> > ... 6 more
> > Caused by: org.apache.pig.backend.executionengine.ExecException:
> > ERROR 2067:
> > EqualToExpr does not know how to handle type: tuple
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.expressionOperat
> > ors.EqualToExpr.getNext(EqualToExpr.java:108)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> > ors.POFilter.getNext(POFilter.java:148)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> > .processInput(PhysicalOperator.java:231)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.physicalLayer.counters.POCounte
> > r.getNext(POCounter.java:71)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> > .processInput(PhysicalOperator.java:231)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> > ors.POStore.getNext(POStore.java:117)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalPigLauncher.runPipeline(Lo
> > calPigLauncher.java:146)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalPigLauncher.launchPig(Loca
> > lPigLauncher.java:109)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalExecutionEngine.execute(Lo
> > calExecutionEngine.java:165)
> Thanks
> Neil
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (PIG-1221) Filter equality does not work for
tuples
Posted by "Jeff Zhang (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/PIG-1221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12880704#action_12880704 ]
Jeff Zhang commented on PIG-1221:
---------------------------------
patch committed
> Filter equality does not work for tuples
> ----------------------------------------
>
> Key: PIG-1221
> URL: https://issues.apache.org/jira/browse/PIG-1221
> Project: Pig
> Issue Type: Bug
> Components: impl
> Affects Versions: 0.8.0
> Environment: Windows and Linux. Java 1.6 hadoop 0.20.1
> Reporter: Neil Blue
> Assignee: Jeff Zhang
> Fix For: 0.8.0
>
> Attachments: PIG_1221.patch
>
>
> From the documentation I understand that it should be possible to filter a relation based on the equality of tuples. http://wiki.apache.org/pig/PigTypesFunctionalSpec , http://hadoop.apache.org/pig/docs/r0.5.0/piglatin_reference.html#deref:
> However with this data file
> -- indext.txt:
> (1,one) (1,ONE)
> (2,two) (22, twentytwo)
> (3,three) (3,three)
> I run this pig script:
> A = LOAD 'indext.txt' AS (t1:(a:int, b:chararray), t2:(a:int, b:chararray)); B = FILTER A BY t1==t2; DUMP B;
> Expecting the output:
> ((3,three),(3,three))
> However there is an error:
> 2010-02-03 09:05:20,523 [main] ERROR org.apache.pig.tools.grunt.Grunt
> - ERROR 2067: EqualToExpr does not know how to handle type: tuple
> > Pig Stack Trace
> > ---------------
> > ERROR 2067: EqualToExpr does not know how to handle type: tuple
> > org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1066:
> > Unable to
> > open iterator for alias B
> > at org.apache.pig.PigServer.openIterator(PigServer.java:475)
> > at
> > org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:
> > 532)
> > at
> > org
> > .apache
> > .pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.
> > java:190)
> > at
> > org
> > .apache
> > .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:166
> > )
> > at
> > org
> > .apache
> > .pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:142
> > )
> > at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:89)
> > at org.apache.pig.Main.main(Main.java:397)
> > Caused by: org.apache.pig.impl.logicalLayer.FrontendException: ERROR
> > 1002:
> > Unable to store alias B
> > at org.apache.pig.PigServer.store(PigServer.java:530)
> > at org.apache.pig.PigServer.openIterator(PigServer.java:458)
> > ... 6 more
> > Caused by: org.apache.pig.backend.executionengine.ExecException:
> > ERROR 2067:
> > EqualToExpr does not know how to handle type: tuple
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.expressionOperat
> > ors.EqualToExpr.getNext(EqualToExpr.java:108)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> > ors.POFilter.getNext(POFilter.java:148)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> > .processInput(PhysicalOperator.java:231)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.physicalLayer.counters.POCounte
> > r.getNext(POCounter.java:71)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
> > .processInput(PhysicalOperator.java:231)
> > at
> > org
> > .apache
> > .pig.backend.hadoop.executionengine.physicalLayer.relationalOperat
> > ors.POStore.getNext(POStore.java:117)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalPigLauncher.runPipeline(Lo
> > calPigLauncher.java:146)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalPigLauncher.launchPig(Loca
> > lPigLauncher.java:109)
> > at
> > org
> > .apache
> > .pig.backend.local.executionengine.LocalExecutionEngine.execute(Lo
> > calExecutionEngine.java:165)
> Thanks
> Neil
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.