min_min_ 2023. 1. 1. 19:21

Mapreduce 느린 이유

1)여러 Stage별 dag가 아니라서 실행 계획 최적화X

2) Disk I/O

 

Spark

1) Edge(transformation), Vertices(RDD) 를 기본으로 DAG 구성하여, 실행 계획 최적화. Lazy execution으로 인해 Action이 나오는 시점에 이전 단계에서의 각각의 stage별 job에 대한 계산을 해두고, Action할 때 최적화된 것으로 수행.

2) RDD(resilient distritbuted dataset)으로 immuatable한 특징을 갖고 있어 dag기반의 lineage를 확인하여 이전 단계에서 다시 객체 생성한다.  각 작업을 메모리 기반으로 하기 때문에 Disk I/O 발생 없음

 

 

Reference

https://eyeballs.tistory.com/206

https://jaemunbro.medium.com/apache-spark-partition-%EA%B0%9C%EC%88%98%EC%99%80-%ED%81%AC%EA%B8%B0-%EC%A0%95%ED%95%98%EA%B8%B0-3a790bd4675d

https://pizzathief.oopy.io/spark-rdd

https://ourcstory.tistory.com/139

https://data-flair.training/blogs/dag-in-apache-spark/

https://www.linkedin.com/pulse/understanding-directed-acyclic-graph-dag-saikrishna-cheruvu-/