1. 학습
  2. /
  3. 강의
  4. /
  5. PySpark로 배우는 빅데이터 기초

Connected

연습 문제

단어 빈도 출력하기

같은 키(단어)를 가진 값(카운트)을 합친 다음, 이번 연습에서는 처음 10개의 단어 빈도를 반환해 보겠습니다. 한 번에 모든 요소를 collect()로 가져올 수도 있지만, 이는 권장되지 않는 나쁜 관행입니다. RDD는 매우 클 수 있어서 메모리가 부족해지거나 컴퓨터가 다운될 수 있어요.

그렇다면 상위 10개 단어를 반환하려면 어떻게 할까요? 먼저 키(단어)와 값(카운트)을 바꿔서 키가 카운트, 값이 단어가 되도록 해야 합니다. 현재 result_RDD는 키가 0번째 요소, 값이 1번째 요소예요. 튜플에서 키와 값을 바꾼 후, 키(카운트)를 기준으로 페어 RDD를 정렬합니다. 이렇게 하면 PySpark의 sortByKey 연산을 쓰지 않고도 키를 기준으로 쉽게 정렬할 수 있어요. 마지막으로, 정렬된 RDD에서 빈도 기준 상위 10개 단어를 반환합니다.

작업 공간에는 이미 SparkContext sc와 resultRDD가 준비되어 있습니다.

지침

100 XP
  • resultRDD RDD에서 처음 10개의 단어와 그 빈도를 출력하세요.
  • resultRDD에서 키와 값을 서로 바꾸세요.
  • 키를 기준으로 내림차순 정렬하세요.
  • 정렬된 RDD에서 가장 자주 등장하는 단어 상위 10개와 그 빈도를 출력하세요.