-
Notifications
You must be signed in to change notification settings - Fork 236
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEA] Add running window fixer for first and last #9299
Comments
First and last do not work for scan aggregations so this will only be a memory optimization. |
At a future date, there will be value in adding support for I'm tackling |
#9489 should address the I'm currently working on the same, for |
* Batching support for ROW-based FIRST() window function Partially addresses #9299. This commit adds support for batched execution of `FIRST()` aggregations row-based window functions. This helps relax the erstwhile requirement that the window aggregation be executed over a single in-memory batch, thereby alleviating memory pressure and out-of-memory failures. Signed-off-by: MithunR <[email protected]>
Fixes NVIDIA#9520. Fixes NVIDIA#9299. This is a followup to the changes in NVIDIA#9489, which adds the running window optimization to the `FIRST()` window fuction. This commit adds running window support for the `LAST()` window function, with support for both `ROWS` and `RANGE` based window specifications. This change should allow the `LAST()` aggregation to run in multiple batches if the window is `[UNBOUNDED PRECEDING, CURRENT ROW`]. This will allow for much larger window and group sizes, because the group no longer needs to fit in GPU memory. This should help mitigate out-of-memory errors with `LAST()` window aggregations. Signed-off-by: MithunR <[email protected]>
* Running window optimization for LAST() Fixes #9520. Fixes #9299. This is a followup to the changes in #9489, which adds the running window optimization to the `FIRST()` window fuction. This commit adds running window support for the `LAST()` window function, with support for both `ROWS` and `RANGE` based window specifications. This change should allow the `LAST()` aggregation to run in multiple batches if the window is `[UNBOUNDED PRECEDING, CURRENT ROW`]. This will allow for much larger window and group sizes, because the group no longer needs to fit in GPU memory. This should help mitigate out-of-memory errors with `LAST()` window aggregations. Signed-off-by: MithunR <[email protected]>
Is your feature request related to a problem? Please describe.
Running window, unbounded preceding to current row, is a very common operation. First and last do show up here, but not that often. However, they should be very trivial to support so we should do it. Just make sure to take into account the null-ability of first and last.
The text was updated successfully, but these errors were encountered: