Option
の処理方法ではありません。あなたは多分あなたは(値が存在しない場合があります)Option
の意味を伝播したいd.getOrElse(<a-good-default-value-like-zero-maybe>)
他の状況をやりたい、とそれらになります.getOrElse
か(この状況では)おそらく.map
val ty=ttnew.distinct().leftOuterJoin(rank).map{ case ((key),(c,d)) => (key,c._1,c._2,c._3,d.getOrElse(Double).asInstanceOf[Double]) }
を使用します例あなたは.map
を使用する必要があります。
val res: Option[String] = optionalDouble.map(doubleValue => callSomeFunctionThatConvertsDoubleToString(value))
あなたも、パターンマッチングや抽出を使用して他のことを行うことができます。例えば、.collect
(それは.map
だが、カバーされていない場合もある)を使用して:だから
val ty=ttnew.distinct().leftOuterJoin(rank).collect{ case ((key),(c,Some(d))) => (key,c._1,c._2,c._3,d) }
を、私は(d.getOrElseにd.getOrElse(ダブル).asInstanceOf [ダブル]からそれを変更することとしています0) – Rushabh
はい。ここで、 '0'はあなたのドメイン内の任意の合理的なデフォルトに置き換えることができます。 –
ありがとうございました。私はエラーが持続する場合、あなたに戻ってみることを試みます。 – Rushabh