캐싱 연습: 1부
다음 몇 개의 연습 문제에서 두 개의 DataFrame을 캐시하는 여러 방법을 실험해 보겠습니다.
데이터프레임 df1은 csv 파일에서 로드되며, 그 위에 여러 처리 단계를 수행합니다. df1을 여러 번 사용할 예정이므로 캐싱 후보가 됩니다.
두 번째 데이터프레임 df2는 df1에 계산 집약적인 단계를 추가로 적용해 생성합니다. 이것도 캐싱 후보입니다.
df2는 df1에 의존하므로, df1을 캐시하는 것이 나을지, 아니면 df2를 캐시하는 것이 나을지 질문이 생깁니다.
이 연습에서는 df1을 캐시해 보겠습니다. 각 액션에 걸리는 시간을 기록해 두세요. 다음 연습에서 이를 비교해 보겠습니다.
이 연습은 강의의 일부입니다
Python에서 Spark SQL 입문
연습 안내
df1만 캐시하세요.df1에서 첫 번째 액션을 실행하고 한 번 더 반복한 다음,df2에서 액션을 실행하고 이것도 반복하세요. 이 부분은 미리 구현되어 있습니다.df1이 캐시되었는지 여부를 확인하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Unpersists df1 and df2 and initializes a timer
prep(df1, df2)
# Cache df1
____
# Run actions on both dataframes
run(df1, "df1_1st")
run(df1, "df1_2nd")
run(df2, "df2_1st")
run(df2, "df2_2nd", elapsed=True)
# Prove df1 is cached
print(____)