2016-03-28 34 views
0

我想在每個元組上應用ScrubFunction並返回具有更新值的元組。級聯 - cascading.tuple.TupleException:未能設置值

但我得到異常如..

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進行更新並返回。

回答

0

第一個問題:不要將值設置爲元組,而是添加。

Tuple result = new Tuple(); 
result.addInteger(argument.getInteger(0)); 
// ... 

第二個問題:是的。請參閱API文檔:TupleEntry.setObject

希望這有助於:)