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.
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
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`.