지연 쿼리 프로파일링하기
팀에서는 새 쿼리를 일일 워크플로에 추가하기 전에, 실제로 어느 단계에서 시간이 소요되는지 파악하고자 합니다. 프로파일링은 .collect()처럼 지연 쿼리를 실행하되, 각 단계별 소요 시간이 담긴 타이밍 DataFrame도 함께 반환합니다.
이 연습은 강의의 일부입니다
Polars로 데이터 파이프라인 확장 및 최적화하기
연습 안내
use가"Physical"인 대출 기록만 남도록library를 필터링하세요..top_k()를 사용해title_len기준으로 가장 긴 제목 10개를 선택하세요.- 타이밍 DataFrame도 함께 얻을 수 있도록 프로파일링을 적용하여 쿼리를 실행하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
result, timings = (
library
# Filter to physical checkouts
.filter(pl.col("use") == "____")
.with_columns(pl.col("title").str.len_chars().alias("title_len"))
# Keep the 10 longest titles
.top_k(10, by="____")
# Run with profiling to capture per-stage timings
.____()
)
print(timings)