RDD 3

Apache Spark - Key/Value Paris (Pair RDD)

Spark Key/Value Pairs조대협 http://bcho.tistory.com RDD에는 어떤 데이타 형식이라던지 저장이 가능한데, 그중에서 Pair RDD라는 RDD가 있다. 이 RDD는 Key-Value 형태로 데이타를 저장하기 때문에, 병렬 데이타 처리 부분에서 그룹핑과 같은 추가적인 기능을 사용할 수 있다. 예를 들어 reduceByKey 와 같이 특정 키를 중심으로 데이타 연산 (각 키 값 기반으로 합이나 평균을 구한다던가) key 기반으로 join 을 한다던가와 같은 그룹핑 연산에 유용하게 사용할 수 있다. Pair RDD를 생성하는 방법은 다음과 같다. JavamapToPair나 flatMapToPair 라는 메서드를 사용하면 된다. mapToPair등의 함수를 이용할때, 아래와 같..

Apache Spark - RDD (Resilient Distributed DataSet) Persistence

Apache Spark(스파크) - RDD Persistence (스토리지 옵션에 대해서) 조대협 (http://bcho.tistory.com) Spark Persistence에 대해서 앞에 글에서 Spark RDD가 메모리에 상주 되는 방법에 대해서 간략하게 언급했는데, 다시 되 짚어 보면 Spark의 RDD는 filter() 등. 여러 Transformation Operation을 실행하더라도 Transformation 단계가 아니라 Action이 수행되는 단계에 로드된다고 설명하였다. 그리고, 매번 해당 RDD가 Action으로 수행될 때마다 다시금 소스에서 부터 다시 로드되서 수행된다고 했는데, 그렇다면 매번 로드 해서 계산하여 사용하는 것이 아니라, 저장해놓고 사용 하는 방법이 무엇이 있을까? ..

Apache Spark - RDD (Resilient Distributed DataSet) 이해하기 - #1

Spark RDD 이해하기 #1조대협(http://bcho.tistory.com) 기본 개념 잡기 RDD 는 여러 분산 노드에 걸쳐서 저장되는 변경이 불가능한 데이타(객체)의 집합으로 각각의 RDD는 여러개의 파티션으로 분리가 된다. (서로 다른 노드에서 분리되서 실행되는). 쉽게 말해서 스파크 내에 저장된 데이타를 RDD라고 하고, 변경이 불가능하다. 변경을 하려면 새로운 데이타 셋을 생성해야 한다. RDD의 생성은 외부로 부터 데이타를 로딩하거나 또는 코드에서 생성된 데이타를 저장함으로써 생성할 수 있다. RDD에서는 딱 두 가지 오퍼레이션만 지원한다. Transformation : 기존의 RDD 데이타를 변경하여 새로운 RDD 데이타를 생성해내는 것. 흔한 케이스는 filter와 같이 특정 데이타만..