rdd (Resilient Distributed Dataset)는 사전 그대로 탄력적인 분산 데이터 집합을 말한다.
생성 후 변경이 불가능한 데이터 집합이며, 이에 따라 단순한 구조에서 오는 성능적인 이점을 가지고 있다.
rdd 에서는
map, reduce, filter 와 같은 변경 ( transformation ) 요소와 collect, count와 같은 실행 ( action ) 요소를 가진다.
실제 수행은 action 에서 발생한다.
분산 형태의 파일을 로딩 할 때,
- sqlContext.sql(“<QEURY>”), sparkContext.testFile(“hdfs://…”)
OR
로컬 collection을 parallelize 명령을 통해서,
sparkContext.parallelize(<list>, <slices number>)
rdd 가 생성 될 수 있다.
**
탐구 하기
rdd.coalesce().glom().collect()
rdd.coalesce(<partitions number>) - 원하는 파티션 수로 결합 ( reduce ) 한다.
rdd.glom() - 파티션 별로 결합된 rdd 를 돌려 준다.
rdd.collect() - driver의 메모리로 rdd 의 모든 데이터를 다 모은다.
sparkContext.runJob(<rdd>, <partition func>, <partitions>) - 원하는 partition 에만 함수를 적용한다.

* HIVE 와 SPARK 를 활용한 기계 학습 디자인 예제이다.
* 분산 처리 ( process )를 위한 영역에서 rdd 가 활용되는 것을 확인 할 수 있다.
생성 후 변경이 불가능한 데이터 집합이며, 이에 따라 단순한 구조에서 오는 성능적인 이점을 가지고 있다.
rdd 에서는
map, reduce, filter 와 같은 변경 ( transformation ) 요소와 collect, count와 같은 실행 ( action ) 요소를 가진다.
실제 수행은 action 에서 발생한다.
분산 형태의 파일을 로딩 할 때,
- sqlContext.sql(“<QEURY>”), sparkContext.testFile(“hdfs://…”)
OR
로컬 collection을 parallelize 명령을 통해서,
sparkContext.parallelize(<list>, <slices number>)
rdd 가 생성 될 수 있다.
**
탐구 하기
rdd.coalesce().glom().collect()
rdd.coalesce(<partitions number>) - 원하는 파티션 수로 결합 ( reduce ) 한다.
rdd.glom() - 파티션 별로 결합된 rdd 를 돌려 준다.
rdd.collect() - driver의 메모리로 rdd 의 모든 데이터를 다 모은다.
sparkContext.runJob(<rdd>, <partition func>, <partitions>) - 원하는 partition 에만 함수를 적용한다.
참조
KNIME 도구를 통한 응용 사례 -> 사이트 본문 링크
* HIVE 와 SPARK 를 활용한 기계 학습 디자인 예제이다.
* 분산 처리 ( process )를 위한 영역에서 rdd 가 활용되는 것을 확인 할 수 있다.