ID 필드 추가하기
데이터를 다룰 때는 특정 필드만 선택해 다양한 연산을 수행할 때가 있어요. 이번에는 DataFrame에서 모든 고유한 투표자 이름을 찾고, 각 항목에 고유 ID 번호를 추가해 보세요. Spark의 ID는 DataFrame의 파티션을 기준으로 부여되므로, ID 값이 실제 행 수보다 훨씬 클 수 있다는 점을 기억하세요.
또한 Spark의 지연(lazy) 처리 특성상, ID는 액션이 수행될 때 실제로 생성되며 데이터셋 크기에 따라 다소 임의적으로 보일 수 있어요.
작업 공간에는 spark 세션과 DallasCouncilVotes.csv.gz 파일을 담은 Spark DataFrame df가 준비되어 있어요. pyspark.sql.functions 라이브러리는 별칭 F로 사용할 수 있어요.
이 연습은 강의의 일부입니다
PySpark로 데이터 정제하기
연습 안내
VOTER NAME열에서 고유한 항목을 선택해voter_df라는 새 DataFrame을 만드세요.voter_dfDataFrame의 행 수를 세세요.- 적절한 Spark 함수를 사용해 ROW_ID 열을 추가하세요.
- ROW_ID가 가장 큰 상위 10개 행을 표시하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Select all the unique council voters
voter_df = df.____(df["VOTER NAME"]).____()
# Count the rows in voter_df
print("\nThere are %d rows in the voter_df DataFrame.\n" % ____)
# Add a ROW_ID
voter_df = voter_df.____('ROW_ID', F.____())
# Show the rows with 10 highest IDs in the set
voter_df.orderBy(voter_df.____.desc()).show(____)