본문 바로가기
대학원 공부/computer science

Spark : Function 예시

by 월곡동로봇팔 2019. 12. 19.

Spark Functions

Spark Functions

 

takeOrdered(num, key=None)

takeOrdered

  • list를 입력한 후, RDD에 넣고, RDD를 takeOrdered(num) 하게되면, num길이만큼 ascending 해서 list로 출력
  • key=lambda x : -x 하면 descending으로 되서 list로 출력된다.
  • RDD에는 하나의 list 형태로 들어가야 slicing이 된다.

take(num)

take

  • take는 ordered 되지 않고 num길이만큼 RDD의 요소를 list 형태로 보여준다.

reduceByKey(f, numPartitions=None, partitionFunc=<function portable_hash at ~~>)

reduceByKey

  • key 가 같은 value 끼리 모아서 function 작업을 해준다.
  • combiner 같은 역할을 미리 해줄 수 있다.
  • Default partitioner 는 hash-partition이다.

flatMap(f, preservesPartitioning = False)

flatMap

  • f를 행한 값을 list로 각각 return하기 전에 이들의 f return 값을 하나의 list에 합쳐서 넣어 return한다.
  • rdd1의 element는 [2,3,4]
  • f=lambda x: [(x,x),(x,x)] 일 때, f의 return 값은 [ [(2,2) , (2,2)], [(3,3) , (3,3)] , [(4,4) , (4,4)] ] 이지만, flatMap을 통해 return한 값들을 flat 시킨다. (numpy의 flatten 함수와 똑같다.)

map(f, preservesPartitioning = False), mapValues(f)

map(), mapValues()

  • key/value pair를 이루는 데이터가 RDD에 있을 경우, pair RDD라 한다.
  • mapValues()는 pair RDD의 value를 받아서, key를 바꾸지 않고, f를 이행한 결과를 key의 value로 업데이트한다.
  • map()은 element를 key로 만들어 f의 return 값으로 value를 붙여준다.

Map

filter()

filter 함수는 해당 값에 조건에 해당되면 결과값으로 return 한다.

 

distinct()

distinct

distinct 함수는 중복값을 제거하여 return 해준다.

 

groupByKey()

groupbykey

groupbykey 함수는 같은 key끼리 모으는 것은 reducebykey와 동일하지만, 더하지는 않고, list에 모아두기만 한다.

 

collect()

collect

collect 함수는 element를 모아주는 역할을 한다.

 

count()

count

count 함수는 RDD의 element의 개수를 세어준다.

 

countByValue()

countByValue

countByValue 함수는 RDD에서 각 element들이 발생하는 빈도수를 count해준 후 value로 넣은 것이다.

 

'대학원 공부 > computer science' 카테고리의 다른 글

Spark : Caching & Serialized  (0) 2019.12.19
Spark : Pair RDD  (0) 2019.12.19
Spark : File format, Compression, File System, Accumulator  (0) 2019.12.19
Spark : Partitioning  (0) 2019.12.18
Spark : Introduction Spark  (0) 2019.12.18

댓글