-키/값 페어로 작업하기
-기본
키/값을 가지는 RDD에 대한 연산을 제공하고 이런 RDD를 페어 RDD라고 명명함.
페어 RDD 들은 각 키에 대해 병렬로 처리하거나, 데이터를 다시 그룹핑할 수 있으므로 유용함.
텍스트 파일의 각 라인의 첫 단어가 키가 된다.
-생성
스칼라와 파이선의 경우는 rdd.map()으로 생성 자바인 경우는 mapToPair()를 호출
-트랜스포메이션 함수 정리
페어 RDD에 대한 트랜스포메이션과 페어RDD간의 트랜스 포메이션으로 나뉠 수 있다.
-페어 RDD에 대한 트랜스포메이션 ((Func)은 함수를 인자로 받는 트랜스포메이션)
reduceByKey(Func) : 동일 키에 대한 값들을 합친다.
groupByKey() : 동일 키에 대한 값들을 그룹화한다.
combineByKey() : 다른 결과 타입을 써서 동일 키의 값들을 합친다.
mapValues (Func) : 키의 변경 없이 페어 RDD의 각 값에 함수를 적용한다.
flatMapValues (Func) : 페어 RDD의 각 값에 대해 반복자를 리턴하는 함수를 적용하고, 리턴받은 값들에 대해 기존키를 써서 키/값 쌍을 만든다. (토큰분리에 종종 이용)
Keys() : 키값을 돌려준다.
values() : 값들을 돌려준다.
sortBykey() : 키로 정렬된 RDD를 돌려준다.
-페어 RDD에 간의 트랜스포메이션
subtractByKey : 다른 쪽 RDD에 있는 키를 써서 RDD의 데이터를 삭제한다.
join : 두 RDD에 대해 inner join을 수행
rightOuterJoin : 첫번째 RDD의 키를 중심으로 조인
leftOuterJoin : 다른 쪽 RDD의 키를 중심으로 조인
cogroup : 동일키에 대해서 양쪽 RDD를 그룹화한다.
'hadoop,yarn, Hive > Spark' 카테고리의 다른 글
Pair RDD기본 (0) | 2018.07.10 |
---|---|
Spark 기본 (0) | 2018.07.10 |
spark + intellij +maven 환경설정 및 기본예제 (0) | 2018.07.10 |