Search code examples
scalaapache-sparkrdd

Spark RDD double compare error: value > is not a member of (Double, Double)


i want in pairthree, (a,(b,c)) only filter c>100

pairthree.take(3) 

res8: Array[(Double, (Double, Double))] = Array((44966.0,(6.5,2.0)), (5015.0,(879.0,248.0)), (47202.0,(32.0,8.0)))

val pairhundred =pairthree.filter { case(k, v) => v > 100.0 }.take(3)

command-173749889538375:2: error: value > is not a member of (Double, Double) val pairhundred =pairthree.filter { case(k, v) => v > 100.0 }.take(3)

I dont understand why this error is happened ...


Solution

  • v is of type Tuple. Try Below code.

    To check first parameter > 100 in tuple

    val pairhundred =pairthree.filter { case(k, v) => v._1 > 100.0 }.take(3)
    

    To check second parameter > 100 in tuple

    val pairhundred =pairthree.filter { case(k, v) => v._2 > 100.0 }.take(3)
    

    To check both parameters > 100 in tuple

    val pairhundred =pairthree.filter { case(k, v) => (v._1 > 100.0 || v._2 > 100.0) }.take(3)