Skip to content
LakeBench
ProblemsCommunityPricing
Sign inStart practicing

Rolling Average

PySpark data engineering interview problem. Difficulty: intermediate. Pattern: Window Functions. About 16 minutes. Part of the Pro drill bank.

3-day rolling average of daily_amount. Treat this as a production helper: match the contracted return shape, including empty and duplicate inputs.

Order by date and compute rolling_avg_3d as avg(daily_amount) over rowsBetween(-2, 0). Return date, daily_amount, rolling_avg_3d. Assign result.

Constraints

  • rowsBetween(-2, 0).
  • Order by date.

Examples

Input: daily amounts Output: date | daily_amount | rolling_avg_3d 2024-01-01 | 10.0 | 10.0 2024-01-02 | 20.0 | 15.0 2024-01-03 | 30.0 | 20.0 2024-01-04 | 40.0 | 30.0 2024-01-05 | 50.0 | 40.0 Early days use a shorter available frame.

Topics: lakebench, pyspark, rowsBetween, avg.

More PySpark interview questions · All interview problems · Learn data engineering

intermediate

Rolling Average

Interview-style drill: 3-day rolling average of daily_amount.

Order by `date` and compute `rolling_avg_3d` as avg(daily_amount) over rowsBetween(-2, 0). Return `date`, `daily_amount`, `rolling_avg_3d`. Assign `result`.