2016-09-08 17 views
0

私はRDD[Try[T]]を持っていますが、の要素のみを含むRDDのtrasnf RDDが必要です。メソッドisFailuretrueを返します。今、私は以下の解決策を見つけました。コンパイル警告なしでRDD [Try [T]]からRDDを取得する警告

rows.filter(row => row.isFailure) 
    .map { 
     case Failure(e) => // Do something... 
    } 

警告:(11,36)マッチは完全ではない場合があります。 これは、次の入力に失敗するだろう:成功(_) マップ{

は、コンパイルの警告で発生させずに同じ結果を得るための任意の方法はありますか?

ありがとうございます。それはcollectように見える一見

答えて

4

は、ここでは、より良いフィットのようになります。

rows.collect { 
    case f @ Failure(e) => f 
} 
+0

どうもありがとうございました。私はいつも 'collect'メソッドについて忘れています! –

+4

あるいはもっと単純な 'case f:Failure [_]'です。 –