더북(TheBook)

4.1 Pair RDD 다루기

 

키-값 쌍은 간단하고 범용적이고 확장성이 뛰어난 데이터 모델이다. 기존 키-값 쌍에 새로운 타입의 키와 값을 손쉽게 추가할 수 있고, 키-값 쌍을 독립적으로 저장할 수 있다. 이러한 확장성과 간결성 덕분에 키-값 쌍 모델은 여러 프레임워크와 애플리케이션의 기본 요소로 자리매김했다. 오늘날 널리 사용하는 캐싱 시스템이나 NoSQL 데이터베이스(Memcached, Redis 등)가 대표적인 키-값 저장소(key-value store)에 해당한다. 하둡의 맵리듀스 또한 키-값 쌍을 기반으로 동작한다(부록 B 참고).

키-값 쌍의 키와 값에는 정수형이나 문자열 등 기본 타입도 사용할 수 있고, 복잡한 데이터 구조체도 사용할 수 있다. 키-값 쌍은 전통적으로 연관 배열(associative array)이라는 자료 구조를 사용해 표현한다. 이 자료 구조를 파이썬에서는 딕셔너리(dictionary)라고 하며, 스칼라와 자바에서는 (map)이라고 한다.

스파크에서는 키-값 쌍(또는 키-값 튜플)으로 구성된 RDD를 Pair RDD라고 한다. 스파크의 데이터를 반드시 키-값 쌍 형태로 구성할 필요는 없지만(2장과 3장 예제에서도 일반 RDD를 사용했다), 실무에서는 Pair RDD를 사용하는 것이 바람직한(또는 사용할 수밖에 없는) 경우가 많다. Pair RDD를 사용하면 데이터를 편리하게 집계·정렬·조인할 수 있다. 먼저 Pair RDD를 생성하는 방법부터 알아보자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.