2015-10-14 19 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; 
相關問題