2015-10-14 50 views
0

我已经通过实现LoadFunc类编写了自定义加载函数。如何在Pig中使用自定义加载函数返回多个元组

现在我想在getNext()方法中返回多行作为输入。

我使用了一个像DataBag

databag.add(tuple1); 
databag.add(tuple2); 

然后

tuple3.set(0,databag); 

并在GETNEXT()方法返回tuple3。

但我得到了一个错误

org.apache.pig.backend.executionengine.ExecException: ERROR 1071: Cannot convert a bag to a String 

能否请你指导如何进行,如果方法不正确,那么如何解决这个问题。

谢谢,欢呼:))

回答

0

如果你想用它的多个元组包。那么这将是一种生成它的方法。首先生成(设置)元组,然后将这些元组添加到数据包。

BagFactory bf=BagFactory.getInstance(); 
DataBag output=bf.newDefaultBag(); 
... 
TupleFactory tp=TupleFactory.getInstance(); 
Tuple t1=tp.newTuple(2); 
.... 
t1.set(0,key_out); 
t1.set(1,value_out); 
output.add(t1); 
return output; 
相关问题