Resilient Distributed Dataset (RDD)

김형수·2023년 6월 28일
0

spark

목록 보기
1/2

Spark의 작동 원리

Spark의 핵심은 Resilient Distributed Dataset (RDD) -> 복구 가능한 분산 데이터 셋

RDD

  • 다양한 데이터 세트를 추상화 한 것.

    RDD는 분산되고 변형하는 성질을 갖고 있어 여러 클러스터에 나눌 수 있고 개인 컴퓨터에서도 작동 가능. 클러스터의 특정 노드에 이상이 생겨도 자동으로 처리, 노드 하나가 작동을 멈춰도 계속 작동하면서 작업을 재분배.

  • RDD는 큰 데이터 셋 -> 한 데이터를 다른 데이터로 변환하는데 쓰임

Spark context -> sc

sc객체를 사용해서 RDD를 생성 할 수 있음.

RDD 변형

  • map -> 데이터를 불러와 다른 데이터로 변형. 기존 RDD의 모든 엔트리가 새 RDD의 새로운 값으로 변형
rdd.map(lamdba x: x**x
  • flatmap -> map과 비슷한 기능을 수행, 단 새로 생성된 RDD가 기존 RDD보다 크거나 작을 수 있음.

  • filter -> RDD에 있는 데이터에서 일부분만 보고 싶을 때 사용

  • distinct -> RDD에서 중복값 제거 함수

  • uninon, intersaction, subtract -> RDBMS와 동일

RDD 집계

  • collect -> 원하는 값만 출력

  • countByValue -> 특정한 값이 얼마나 나왔는가

  • take, top -> 최종적으로 완성한 RDD에서 일부 값을 가져온다

  • reduce -> 모든 값에 특정한 연산을 해서 하나의 RDD로 합쳐준다

유향 비순환 그래프

Spark가 빠른이유. Spark에 액션을 입력하면 바로 유향 비순환 그래프를 생성하여 원하는 값을 얻으려면어떻게 해야하는지 최적화된 방법을 계산.

0개의 댓글