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 |