我试图在每个元组上应用ScrubFunction,并使用更新的值返回元组。
但我得到的例外就像..。
Caused by: cascading.tuple.TupleException: failed to set a value, tuple may not be initialized with values, is zero length示例代码:
TupleEntry argument = functionCall.getArguments();
Tuple result = new Tuple();
result.setInteger(0, argument.getInteger(0));
result.setString(1, argument.getString(1).toUpperCase());
result.setString(2, argument.getString(2));
result.setString(3, argument.getString(3));
result.setString(4, argument.getString(4));
result.setString(5, argument.getString(5));
functionCall.getOutputCollector().add(result);如果我想更新Tuple中的几个字段并返回更新后的值,该怎么办?
我可以在TupleEntry中直接更新并返回它吗?
发布于 2016-04-07 05:13:21
对于第一个问题:不要将值设置为元组,而是添加。
Tuple result = new Tuple();
result.addInteger(argument.getInteger(0));
// ...关于你的第二个问题:是的。参见这里的API文档:TupleEntry.setObject
希望这会有所帮助:)
https://stackoverflow.com/questions/36262036
复制相似问题