[PySpark_#3] 파이썬을 활용한 스파크 프로그래밍, (3장/8장)

스파크 클러스터 아키텍처의 이해

Posted by 박홍 on 2024-03-07
Words 147 and Reading Time 1 Minutes
Viewed Times

Summary

챕터3에서는 SPARK의 기본 아키텍처에 대한 설명이 나옴.
내용으로는 길어보였는데 flow를 따라서 가보니 각 컴퍼넌트별 역할이 명확하게 있어서…
실습 전 가볍게 이해하기에는 무리가 없었던 장.


Keywords & Terms

  • RDD(Resilient Destributed Datase
  • DAG(Directed Acyclic Graph)

What is spark?

spark?

스파크 정의
스파크 = Lightning-fast unified analytics engine

장점

  • 맵리듀스보다 더 빠르게 computing 할 수 있다
  • 디스크기준으론 10x, 인메모리 기준으로는 100x 빠르게 가능하겠다
  • 기존하둡은 매번 요청이 있을때마다 디스크까지 내려가는데 그걸 인메모리에서 구현하겟다가 스팤

MR vs SPARK

맵리듀스1
맵리듀스2
MR: 매번 디스크에서 읽고 메모리에서 쓰고 빠질거를 SPARK는 메모리에서 연산하고 끔 \
shuffle+sort는 네트워크 I/O가 필요한데 이 부분도 없어짐
코드스니펫 비교
맵리듀스 스파크 코드스니펫

spark 아키텍처

스파크 아키텍쳐

  1. 클러스터매니저로 인해 관리됨, 유저코드를 제출하는 걸 = spark-submit라 칭함
  2. spark-submit을 하면 Driver Process가 뜨고 Spark session을 생성
  3. 그리고 다수의 Executors를 생성하고 정책은 (1)의 과정에서 정함 core, memory수 그런거 등등
  4. Executors들에서 내가 작성한 코드들이 분산실행 됨

Copyright © 2024 박홍(박형준, DevHyung).