오늘의 인기 글
최근 글
최근 댓글
Today
Total
04-30 00:02
관리 메뉴

우노

[Spark] Broadcast 란? 본문

Data/Spark

[Spark] Broadcast 란?

운호(Noah) 2020. 7. 13. 13:27

공유변수

  • Spark 에는 두가지 유형의 공유 변수가 있다.
    • Broadcast Variables
      • 모든 워커 노드에 큰 값을 저장해, 재전송 없이 Spark Action 에서 사용할 수 있다.
    • Accumulators
      • 모든 Task 데이터를 공유 결과에 추가해, 특정 정보를 집계할 수 있다.

Broadcast Variables

  • Broadcast Variables 는, 모든 Worker큰 규모의 입력 데이터셋을 효율적으로 제공할 때 사용하는 방법이며, 읽기전용 변수이다.
  • 각 Worker 에 입력 데이터셋 캐쉬를 유지하고, 각 Task 에 복제본을 제공한다.
    • 입력 데이터셋은, Worker 에 직렬화 형태로 캐싱되고
    • 각 Task 는 입력 데이터셋이 필요할 때, 역직렬화를 통해 제공 받는다.
  • 만약, 직접 짠 애플리케이션이 큰 사이즈의 데이터를 모든 노드에서 사용할 필요가 있다면,
  • 또는 머신 러닝 알고리즘에서 큰 사이즈의 벡터가 Woker 노드에서 필요하다면,
  • Broadcast Variable 를 사용하는게 좋다.

참고

Comments