Spark 이해하기 4. Spark Action

Apache Spark Action 은 RDD(Resilient Distributed Dataset)의 변환에 의해 정의된 전체 계산 계획의 실행을 트리거하는 작업입니다.

action은 Spark에 계산을 수행하고 결과를 생성하도록 지시하여 Spark가 클러스터 노드에서 실행될 작업을 시작하도록 합니다.

action의 예로는 RDD의 모든 데이터를 드라이버 프로그램으로 검색하는 ‘collect()’, RDD의 요소 수를 계산하는 ‘count()’ 등이 있습니다.

Spark Action 함수 정리

Action FunctionPurposeExampleInputResult
collect()데이터세트의 모든 요소를 ​​드라이버에 배열로 반환rdd.collect()[1,2,3,4][1, 2, 3, 4]
count()데이터세트의 요소 수를 반환rdd.count()[1,2,3,4]4
first()데이터세트의 첫 번째 요소를 반환rdd.first()[1,2,3,4]1
take(n)데이터세트의 첫 번째 n 요소를 반환rdd.take(2)[1,2,3,4][1, 2]
takeOrdered(n)데이터세트의 첫 번째 n 요소를 오름차순으로 반환rdd.takeOrdered(2)[3, 1, 2, 4][1, 2]
top(n)데이터세트에서 상위 n 요소를 반환rdd.top(2)[1,2,3,4][4, 3]
reduce(func)함수를 사용하여 데이터 세트의 요소를 집계rdd.reduce(lambda x, y: x + y)[1,2,3,4]10
countByKey()key-value RDD에서 각 키 값에 해당하는 값 카운트rdd.countByKey()[(“a”, 1), (“b”, 2), (“a”, 3)]{'a': 2, 'b': 1}
foreach(func)데이터세트의 각 요소에 함수를 적용rdd.foreach(lambda x: print(x))[1,2,3,4](prints each element)
takeSample()데이터 세트의 고정 크기 샘플링 하위 집합을 반환rdd.takeSample(False, 2)[1,2,3,4][3, 1] (result can vary)
saveAsTextFile()데이터 세트를 텍스트 파일 또는 텍스트 파일 세트로 저장rdd.saveAsTextFile("path/to/file")[1,2,3,4](writes data to file)
saveAsSequenceFile()데이터 세트를 Hadoop SequenceFile로 저장rdd.saveAsSequenceFile("path/to/file")[1,2,3,4](writes data to file)
saveAsObjectFile()데이터세트를 간단한 Java 개체 파일로 저장rdd.saveAsObjectFile("path/to/file")[1,2,3,4](writes data to file)
aggregate()각 파티션의 요소를 집계한 다음 파티션 전체의 결과를 집계합니다.rdd.aggregate((0, 0), lambda acc, val: (acc[0] + val, acc[1] + 1), lambda acc1, acc2: (acc1[0] + acc2[0], acc1[1] + acc2[1]))[1,2,3,4](10, 4)
fold()함수와 0 값을 사용하여 데이터세트의 요소를 집계rdd.fold(0, lambda x, y: x + y)[1,2,3,4]10
lookup(key)‘key’ 키에 대한 RDD의 값 목록을 반환rdd.lookup('a')[(“a”, 1), (“b”, 2), (“a”, 3)][1, 3]

참고하면 좋은 글

Spark 이해하기 3. Spark transformation – H-A (hangbok-archive.com)

Leave a Comment

목차