我通过实现LoadFunc类编写了一个自定义加载器函数。
现在我想返回多行作为getNext()方法的输入。
我已经使用了像
这样的DataBagdatabag.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
请您指导一下如何进行,如果方法不正确,那么如何处理这个问题。
谢谢,干杯:))
如果您想要一个包含多个元组的包。这就是生成它的一种方法。首先生成(设置)元组,然后将这些元组添加到数据库中。
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;