오늘의 인기 글
최근 글
최근 댓글
Today
Total
04-29 01:41
관리 메뉴

우노

[Spark] Shuffle 이란? 본문

Data/Spark

[Spark] Shuffle 이란?

운호(Noah) 2020. 7. 12. 19:46

Spark Shuffle 이란?

  • Shuffle 은 Spark 에서 데이터를 재분배하는 방법이며,
  • 효율적인 Spark Application 을 개발하기 위해 상당히 중요한 개념입니다.

Background

  • Shuffle 을 이해하기 위해서는, reduceByKey 의 작동 방식을 알아야합니다.
  • reduceByKey 는 동일한 Key 를 가지고 있는, 모든 record 값을 취합하는 작업입니다.
    • (A, 1), (A, 2), (A, 3) → (A, 6)
  • 하지만, Spark 의 분산처리는 파티션 단위로 진행되기 때문에,
  • 동일한 Key 의 모든 record 값을 취합하기 위해선,
  • 동일한 Key 를 가진 튜플 데이터가 전부 같은 파티션에 있어야합니다.
  • 따라서, 모든 튜플 데이터가 여러 클러스터에 분산 저장되어 있을 때,
  • 동일한 Key 를 가진 튜플 데이터를 동일한 파티션에 두기 위해, 데이터의 위치를 재조정하는 방법이 Shuffle 입니다.

참고

Comments