You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Olga Natkovich (JIRA)" <ji...@apache.org> on 2009/01/12 18:10:05 UTC
[jira] Commented: (PIG-597) Pig does not handdle correctly the case
where "*" is passed to UDF
[ https://issues.apache.org/jira/browse/PIG-597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12663008#action_12663008 ]
Olga Natkovich commented on PIG-597:
------------------------------------
Commenting this code breaks ORDER BY. I believe that this change is still correct and the sampling code need to be changed to work with it.
> Pig does not handdle correctly the case where "*" is passed to UDF
> ------------------------------------------------------------------
>
> Key: PIG-597
> URL: https://issues.apache.org/jira/browse/PIG-597
> Project: Pig
> Issue Type: Bug
> Reporter: Olga Natkovich
>
> Script:
> ======
> A = LOAD 'foo' USING PigStorage('\t');
> B = FILTER A BY ARITY(*) < 5;
> DUMP B;
> Error:
> =====
> 2009-01-05 21:46:56,355 [main] ERROR
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc
> - Caught error from UDF
> org.apache.pig.builtin.ARITY[org.apache.pig.data.DataByteArray cannot be cast to org.apache.pig.data.Tuple [org.apache.pig.data.DataByteArray cannot be cast to org.apache.pig.data.Tuple]
> Problem:
> =======
> Santhosh tracked this to the following code in POUserFunc.java:
> if(op instanceof POProject &&
> op.getResultType() == DataType.TUPLE){
> POProject projOp = (POProject)op;
> if(projOp.isStar()){
> Tuple trslt = (Tuple) temp.result;
> Tuple rslt = (Tuple) res.result;
> for(int i=0;i<trslt.size();i++)
> rslt.append(trslt.get(i));
> continue;
> }
> }
> It seems to be unwrapping the tuple before passing it to the function. There is no comments so we are not sure why it is there; will need to run tests to see if removing it would solve this issue and not create others.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.