2016-03-28 5 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)); 
// ... 

あなたの2番目の質問に:はい。 TupleEntry.setObject

希望します。

関連する問題