빅데이터/Spark
Spark
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://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-/