Spark

Spark/RDD (Resilient Distributed Dataset)

도도고영 2024. 3. 26. 17:10

RDD란 스파크가 사용하는 핵심 데이터 모델로 다수의 서버를 걸쳐 분산 방식으로 저장된 데이터를 의미한다. 

병렬 처리가 가능하고 장애가 발생할 경우 스스로 복구될 수 있다.

 

종류

RDD: 기본 형식

PairRDD: key, value pair로 구성된 RDD

 

 

구현

// SparkContext 초기화

SparkConf conf = new SparkConf().setMaster("local")/setAppName("My App");

JavaSparkContext sc = new JavaSparkContext(conf);

 

// 외부 데이터 로드, RDD 생성

JavaRDD<String> lines = sc.textFile("...");

 

 

RDD transformation

map

filter

distinct: 중복 제거

flatMap

 

RDD action

collet

count

countByValue

reduce(func): RDD의 요소들을 병합하여 리턴

foreach

 

인터페이스와 구현 메소드

Fuction<T,R>: R call(T)

Fuction2<T1,T2,R>: R call(T1,T2)

FlatMapFuction<T,R>: Iterable<R> call(T)

 

 

문서: https://spark.apache.org/docs/1.6.0/api/java/org/apache/spark/api/java/JavaRDD.html