datafame 이 갖고 있는 row 가
"his is sample strin", "one more sample string", "third line", "line", "this is one more line"
|
이라고 하자.
map 의 경우 각각의 row 에 lambda 함수 등을 적용한다.
예제를 보자.
5개의 row 각각이 lambda 함수(split(" ")) 의 input 으로 들어간다.
각각의 row 들에 적용되었기 때문에 5개의 output이 나왔다. 모두 white space 로 split 되어 있다.
flatmap 의 경우 모든 row 를 싸잡아서 lambda 함수 등을 적용한다.
예제를 보자.
5개의 row 모두가 하나가 되어 input 으로 들어간다.
하나가 된 5개 row 에 lambda 함수가 적용되었기 때문에 output 역시 하나만 나왔다.
그래서 아래와 같은 코드를 사용하여 wordcount 가 가능하다.
참고
https://www.youtube.com/watch?v=mTxzTWngm-Y
https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#quick-example
https://hamait.tistory.com/606
map : 지도, 지도식 도표, 도해, 천체도, 함수
'Spark' 카테고리의 다른 글
[Spark] spark context, spark session 만드는 방법 (0) | 2019.12.18 |
---|---|
[Spark Streaming] Yahoo Benchmark github링크 (0) | 2019.12.11 |
[Spark] 성능 튜닝 참고 링크들 (0) | 2019.11.21 |
[Spark] Required executor memory (2048), overhead (384 MB), and PySpark memory (0 MB) is above the max threshold (2048 MB) of this cluster! 에러 원인 파악 및 해결 (0) | 2019.11.08 |
[Spark] mongo-spark connector 로 aggregation 쿼리 보내는 예제 코드 (0) | 2019.11.06 |