2016년 11월 9일 수요일

RDD - Resilient Distributed Dataset

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 에만 함수를 적용한다.


참조

KNIME 도구를 통한 응용 사례 -> 사이트 본문 링크

* HIVE 와 SPARK 를 활용한 기계 학습 디자인 예제이다.
* 분산 처리 ( process )를 위한 영역에서 rdd 가 활용되는 것을 확인 할 수 있다.

댓글 1개:

  1. Water Hack Burns 2lb of Fat OVERNIGHT

    Over 160 thousand men and women are losing weight with a easy and secret "water hack" to lose 1-2lbs each and every night as they sleep.

    It's easy and it works on anybody.

    This is how you can do it yourself:

    1) Go get a drinking glass and fill it up with water half glass

    2) Then follow this proven HACK

    and you'll become 1-2lbs skinnier the very next day!

    답글삭제