spark 함수는 크게 action과 transformation 두 가지로 나누어진다.
이를 이해하기 위해서는 lazy execution이라는 개념을 짚고 넘어가야 한다.
연산/함수를 명령한 즉시 수행하는 것이 아니라, 기록만 해두고 쌓아두고 있다가 특정 유형의 연산/함수를 실행하는 경우에 한꺼번에 수행하는 것을 말한다.
기존의 RDD에서 새로운 RDD를 생성하는 function
즉시 수행되는 것이 아닌 기록만 되는 function
예시 함수) filter(), map(), groupBy(), flatMap(), distinct(), join() 등
더 이상 RDD이 아닌 NON-RDD values로 return하도록 하는 function
transformation된 연산/함수를 실행시키는 function
예시 함수) count(), take(n), reduce(), first(), aggregate(), first(), collect() 등