윈도우 함수 SQL로 누적 합계 구하기
윈도우 함수는 집계 함수와 비슷하지만, 그룹당 한 행이 아닌 데이터셋의 각 행마다 결과를 반환한다는 점이 다릅니다.
윈도우 함수와 함께 집계를 수행할 수 있습니다. 윈도우 함수를 사용하면 누적 합계를 조인으로 구현하는 것보다 더 간단하게 작성할 수 있고, 쿼리 수행 시간도 훨씬 빨라질 수 있습니다.
train_id, station, time, diff_min 열을 가진 schedule 테이블이 제공됩니다. diff_min 열은 현재 역에서 다음 역까지 걸린 시간을 분 단위로 나타냅니다.
이 연습은 강의의 일부입니다
Python에서 Spark SQL 입문
연습 안내
- 이 데이터셋의 각 레코드에
running_total이라는 추가 열을 더하는 쿼리를 실행하세요.running_total열은diff_min열이 제공하는 역 간 시간 차이를SUM()으로 누적한 값입니다. - 쿼리를 실행하고 결과를 표시하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Add col running_total that sums diff_min col in each group
query = """
SELECT train_id, station, time, diff_min,
____(____) OVER (PARTITION BY ____ ORDER BY ____) AS running_total
FROM schedule
"""
# Run the query and display the result
spark.____(query).show()