Spark RDD란 무엇인가?

NLP 2018. 4. 18. 16:23

RDD란 무엇인가?


R(Resilient)

D(Distributed)

D(Dataset)


R <- 데이터 손실 문제발생 시 다시 생성할 수 있다. (유실된 파티션을 재연산해 복구한다)

D <- 메모리를 이용하여 분산처리를 한다.

D <- 파일을 통해 가져올 수 있는 데이터셋 제공


따라서 Spark에서 제공하는 RDD라는 놈은 Spark에서 기본적인 데이터 단위라고 볼 수 있다.

(분산되어 있는 컬렉션)



자 그럼 RDD를 생성하여 보자


Spark QuickStart 에서보면 예제가 바로 나온다.


자 그럼 스파크를 실행시키고 예제를 한줄 한줄 입력하여 어떠한 결과가 나오는지 알아보자


# lines라는 RDD를 README.md 파일을 가져와서 만든다. (txtFile)

Scala : val lines = sc.textFile("README.md")

Python : lines = sc.textFile("README.md")

-출력결과 --> lines: org.apache.spark.rdd.RDD[String] = README.md MapPartitionsRDD[1] at textFile at <console>:24


# lines에 할당된 아이템의 갯수를 센다.

Scala : lines.count()

Python : lines.count()

-출력결과 --> res0: Long = 103


# lines에 있는 첫번째 라인에 해당하는 아이템을 불러온다.

Scala : lines.first()

Python : lines.first()

-출력결과 --> res1: String = # Apache Spark


! : 스파크 쉘이 구동될때 자동으로

SparkContext 생성후 sc라는 변수에 할당을 해준다.


그래서 sc를 직접 선언하지않고 사용할 수 있다.

sc변수가 어떻게 선언되었는지 알고싶으면 터미널에 sc를 입력하면 알 수 있다.

-출력결과 --> res2: org.apache.spark.SparkContext = org.apache.spark.SparkContext@69ed96e1



'NLP' 카테고리의 다른 글

스파크 임시  (1378) 2018.04.18
Spark를 설치 실행해보자  (934) 2018.04.18
파이썬으로 텍스트 마이닝 하기 (쓰는중..)  (1347) 2018.04.16
블로그 이미지

ZeroFlag

,