pyspark를 사용할 때 되도록 built-in 함수를 사용하는 것이 좋다.
그렇지 않으면 JVM을 왔다갔다 하는 오버헤드가 발생할 수 있다.
그렇지 않으면 JVM을 왔다갔다 하는 오버헤드가 발생할 수 있다.
[edit]
1 RDD(Resilient Distributed Dataset) #
- 분산되어 있는 변경 불가능(immutable)한 객체 모음
- 클러스터의 여러 노드에 여러 파티션으로 나뉨
[edit]
2.1 textFile() #
c:\data\test.txt파일을 2개의 파티션을 나눠 RDD를 만든다.
lines = sc.textFile("c:\\data\\test.txt", 2)
lines.collect()
[edit]
2.3 union() #
2개의 RDD 합치기, 아래 예제는 3개의 RDD 합치기
lines1 = sc.parallelize(['a', 'b', 'c']) lines2 = sc.parallelize(['d', 'e', 'f']) lines3 = sc.parallelize(['g', 'h', 'i']) lines = lines1.union(lines2).union(lines3) for line in lines.collect(): print(line)
결과
>>> lines1 = sc.parallelize(['a', 'b', 'c']) >>> lines2 = sc.parallelize(['d', 'e', 'f']) >>> lines3 = sc.parallelize(['g', 'h', 'i']) >>> lines = lines1.union(lines2).union(lines3) >>> for line in lines.collect(): ... print(line) ... a b c d e f g h i >>>
[edit]
2.4 filter() #
필터
lines = sc.parallelize(['가지', '무', '배추', '상추']) choo = lines.filter(lambda x: "추" in x) choo.collect()
결과
>>> lines = sc.parallelize(['가지', '무', '배추', '상추']) >>> choo = lines.filter(lambda x: "추" in x) >>> choo.collect() ['배추', '상추'] >>>
댓글 없음:
댓글 쓰기