기본 RDD 생성 및 변환하기
비정형 데이터(로그 라인, 이미지, 바이너리 파일)의 양이 급격히 증가하고 있으며, PySpark는 RDD를 통해 이러한 유형의 데이터를 분석하기에 훌륭한 프레임워크입니다. 이 3단계 연습 문제에서는 Complete Works of William Shakespeare에서 가장 자주 등장하는 단어를 계산하는 코드를 작성해 볼 거예요.
단어 세기 프로그램을 작성하는 간단한 단계는 다음과 같습니다.
Complete_Shakespeare.txt파일에서 기본 RDD를 만듭니다.- RDD 변환을 사용해 기본 RDD의 각 원소에서 단어의 긴 목록을 만듭니다.
- 데이터에서 불용어를 제거합니다.
- 각 원소가
('w', 1)형태의 튜플인 Pair RDD를 만듭니다. - Pair RDD의 원소를 키(단어)로 그룹화하고 값을 합산합니다.
- 키(단어)와 값(개수)을 바꿔서 키가 개수, 값이 단어가 되도록 합니다.
- 마지막으로 RDD를 내림차순으로 정렬하고 가장 빈도가 높은 10개 단어와 그 빈도를 출력합니다.
이번 첫 번째 연습에서는 Complete_Shakespeare.txt 파일에서 기본 RDD를 만들고, 이를 변환해 단어의 긴 목록을 생성합니다.
워크스페이스에는 이미 SparkContext sc가 준비되어 있어요. 또한 Complete_Shakespeare.txt 파일 경로를 담은 file_path 변수도 미리 로드되어 있습니다.
이 연습은 강의의 일부입니다
PySpark로 배우는 빅데이터 기초
연습 안내
file_path에서 라인을 읽어들이는baseRDD라는 RDD를 만드세요.baseRDD를 변환해 단어의 긴 목록을 만들고, 새 RDDsplitRDD를 생성하세요.splitRDD에 있는 전체 단어 수를 계산하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create a baseRDD from the file path
baseRDD = sc.____(file_path)
# Split the lines of baseRDD into words
splitRDD = baseRDD.____(lambda x: x.split())
# Count the total number of words
print("Total number of words in splitRDD:", splitRDD.____())