1
val rdd :Array[Array[String]] = Array(Array("2345","345","fghj","dfhg")
                                ,Array("2345","3450","fghj","dfhg")
                                ,Array("23145","1345","fghj","dffghg")
                                ,Array("23045","345","feghj","adfhg"))

this is my input. I need to extract first two elements of each array in the form of key value pair.

I would like to get output

(2345,345)
(2345,3450)
(23145,1345)
(23045,345)
zero323
  • 322,348
  • 103
  • 959
  • 935
premon
  • 159
  • 1
  • 3
  • 13

1 Answers1

2

You can simply do

rdd.map(array => (array(0), array(1)))
//res0: Array[(String, String)] = Array((2345,345), (2345,3450), (23145,1345), (23045,345))

If you want the output in Map then you can add .toMap function call

rdd.map(array => (array(0), array(1))).toMap
//res0: scala.collection.immutable.Map[String,String] = Map(2345 -> 3450, 23145 -> 1345, 23045 -> 345)
Ramesh Maharjan
  • 41,071
  • 6
  • 69
  • 97