하둡에서 약 30분에서 50분가량 걸렸었던 부분에 있어 스파크를 이용하면 얼마나 빠라질지 기대를 해보면서
스칼라 언어로 빠르게 짰다. 다른 부분과 다르게 이런 콜렉션 다루는게 굉장히 빈번하게 이루어진다면 스칼라가 자바보다 훨씬 코드를 단축시킬수 있는 측면이 클것이다.
val textFile = sc.textFile("/home/username/word.txt")
val counts = textFile.flatMap(line => line.split(" "))map(word => (word, 1))reduceByKey(_ + _)
counts.collect()
신기하게도 하둡으로 구현했던 미치도록 많던 코드가 위의 세줄로 압축시킬수있다. 위의 코드는 wordcount이다.
하지만 SPARK_MEM에 제대로된 메모리를 할당하지 않았을경우, 바로 HEAP SPACE EXCEPTION이 떨어진다.
음 좀 효율적으로 쓰지는 못하려나
'소프트웨어 개발 > Scala - Functional' 카테고리의 다른 글
[참고자료] fork in run (0) | 2015.12.28 |
---|---|
[스칼라 알고리즘] 단순 원소 바꾸기, 배열 회전 (0) | 2015.06.03 |
스칼라 flatmap 사용법 (0) | 2015.05.31 |
Spark 설치, 이용하기 (2) | 2015.05.31 |
윈도우 - 스칼라에서 네이티브 라이브러리 사용하기 (0) | 2015.05.22 |