This is a bug, created PIG-5048. Thanks!
On 10/10/16, 10:28 AM, "Nandor Kollar" <[email protected]> wrote: >Hi, > >I wanted to test Pig-HiveUDF support, and the example in HiveUDTF failed >with trunk version. > >I tried 'explode' HiveUDTF using a file with a simple bag: {(A), (B), (C), >(D)} >When I launched this script (like in the example in HiveUDTF source code >suggests): > >define explode HiveUDTF('explode'); >A = load 'bag.txt' as (a0:{(b0:chararray)}); >B = foreach A generate flatten(explode(a0)); >dump B > >It failed with this error message: > >java.lang.Exception: org.apache.pig.backend.executionengine.ExecException: >ERROR 0: Exception while executing [POCast (Name: Cast[bag:{(chararray)}] - >scope-2 Operator Key: scope-2) children: [[POProject (Name: >Project[bytearray][0] - scope-1 Operator Key: scope-1) children: null at >[]]] at [a0[-1,-1]]]: java.lang.RuntimeException: Unimplemented >at >org.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.java:489) >at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:549) >Caused by: org.apache.pig.backend.executionengine.ExecException: ERROR 0: >Exception while executing [POCast (Name: Cast[bag:{(chararray)}] - scope-2 >Operator Key: scope-2) children: [[POProject (Name: Project[bytearray][0] - >scope-1 Operator Key: scope-1) children: null at []]] at [a0[-1,-1]]]: >java.lang.RuntimeException: Unimplemented >at >org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator.getNext(PhysicalOperator.java:364) >at >org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc.processInput(POUserFunc.java:216) >at >org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc.getNext(POUserFunc.java:270) >at >org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc.getNextDataBag(POUserFunc.java:370) >at >org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator.getNext(PhysicalOperator.java:335) >at >org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach.processPlan(POForEach.java:404) >at >org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach.getNextTuple(POForEach.java:321) >at >org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.runPipeline(PigGenericMapBase.java:280) >at >org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.cleanup(PigGenericMapBase.java:123) >at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:148) >at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787) >at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) >at >org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:270) >at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) >at java.util.concurrent.FutureTask.run(FutureTask.java:262) >at >java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >at >java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >at java.lang.Thread.run(Thread.java:745) >*Caused by: java.lang.RuntimeException: Unimplemented* >at org.apache.pig.data.UnlimitedNullTuple.size(UnlimitedNullTuple.java:31) >at >org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POProject.getNext(POProject.java:165) >at >org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POProject.getNextDataByteArray(POProject.java:323) >at >org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POCast.getNextDataBag(POCast.java:1833) >at >org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator.getNext(PhysicalOperator.java:335) >... 17 more > >It looks to me, that this is an unimplemented feature, or am I missing >something? > >Thanks, >Nandor
