데이터 재파티션하기
id, word, chapter 열을 가진 데이터프레임 text_df가 있습니다. text_df의 처음 5개 행이 콘솔에 출력되어 있어요.
다음 코드를 통해 챕터가 12개임을 알 수 있습니다:
text_df.select('chapter')\
.distinct()\
.sort('chapter')\
.show(truncate=False)
이 명령의 결과는 콘솔에 Table 1로 출력됩니다.
현재 데이터프레임 text_df는 단일 파티션에 들어 있습니다. 다음 처리 단계에서 데이터를 챕터별로 그룹화할 예정이라고 가정해 봅시다. 각 챕터가 하나의 머신 안에 머물도록 하면 처리 효율이 가장 높습니다. 머신 간 불필요한 셔플을 피하기 위해, 이 챕터의 첫 번째 비디오 레슨에서 배운 repartition과 getNumPartitions 명령을 사용해 데이터프레임을 챕터당 하나의 파티션이 되도록 재파티션해 보세요.
영상에서 어떻게 했는지 기억이 나지 않는다면, 콘솔 오른쪽에 있는 슬라이드를 참고하셔도 좋습니다.
이 연습은 강의의 일부입니다
Python에서 Spark SQL 입문
연습 안내
text_df를 12개 파티션으로 재파티션하고, 각 챕터가 자신의 파티션에 있도록 하세요.- 새 데이터프레임의 파티션 개수를 표시하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Repartition text_df into 12 partitions on 'chapter' column
repart_df = text_df.____(____, ____)
# Prove that repart_df has 12 partitions
repart_df.____.____