scala/특히 spark에서 작업하다가 혼동되는 게 flatmap이다.


먼저 map을 살펴보면 컬렉션이 Opion 타입이라면 List(Option) 작업을 강제로 진행해야 한다. 


scala> List(Some(1),Some(2),None).map{case Some(x) => x*2  case None => 0 }

res21: List[Int] = List(2, 4, 0)




컬렉션 flatMap을 사용하기만 하면 Option을 모두 정리한다.



scala> List(Some(1),Some(2),None).flatMap(x => x)

res27: List[Int] = List(1, 2)




Posted by '김용환'
,