RDD (Resilient Distributed Dataset)

RDD를 만드는 방법

sc 라는 오브젝트를 대화형으로 만드는 spark-shell 도 있고

독립적인 스크립트를 사용해서 SparkContext를 스케줄에 따라 생성할 수도 있음

nums = parallelize([1, 2, 3, 4])

# HDFS, AWS S3, File 등등에서 textFile을 불러올 수도 있음
sc.textFile("hdfs://xxx")

# hive context를 활용해 hive로 SQL 쿼리를 날릴 수도 있음
hiveCtx = HiveContext(sc); rows = hiveCtx.sql("SELECT name, age FROM users")

우리가 생각할 수 있는 대부분의 데이터 소스를 가지고 RDD를 만들 수 있음!

Transforming RDD’s

RDD를 가지고 할 수 있는 것? → MapReduce에서 했던 Mapping, Reducing 작업을 할 수 있음.

ex) 정수의 RDD를 가져와서 제곱하는 예시

rdd = sc.parallelize([1, 2, 3, 4])
squaredRDD = rdd.map(lambda x: x*x)
-> 1, 4 ,9 , 16