-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
[C++] Add first and last aggregation #34911
Comments
take |
We spoke about this a bit externally but to record the conversation:
From our conversation, my understanding is that you are interested in the unary window-aggregate version. We don't have any window aggregates yet but I do think it would be a good idea to start adding some. We have pretty much all the building blocks we need to support a "window aggregate node" (or an extension to the current aggregate nodes). Furthermore, even if we don't build in proper multithreaded support for window functions it should be possible to use window aggregates today as long as your plan is single threaded. |
Issue resolved by pull request 34912 |
### Rationale for this change This PR adds "first" and "last" aggregator and support using those with Acero's segmented aggregation. ### What changes are included in this PR? - [x] Numeric Scalar Aggregator (bool, int types, floating types) - [x] Numeric Hash Aggregator (bool, int types, floating types) - [x] Docstring - [x] Non-Numeric Scalar Aggregator (string, binary, fixed binary, temporal) - [x] Non-Numeric Hash Aggregator (string, binary, fixed binary, temporal) - [x] Add `ordered` flag in aggregate kernels - [x] Implement and test skip null - [x] Update compute.rst ### Are these changes tested? - [x] Compute Kernel Test (Scalar Kernels, all supported datatypes) - [x] Hash Aggregate Test (Hash Kernels, all supported datatypes) - [x] Segmented Aggregation Test (Both Scalar and Hash Kernels) ### Are there any user-facing changes? Yes. Added First and Last aggregator. Authored-by: Li Jin <ice.xelloss@gmail.com> Signed-off-by: Weston Pace <weston.pace@gmail.com>
### Rationale for this change This PR adds "first" and "last" aggregator and support using those with Acero's segmented aggregation. ### What changes are included in this PR? - [x] Numeric Scalar Aggregator (bool, int types, floating types) - [x] Numeric Hash Aggregator (bool, int types, floating types) - [x] Docstring - [x] Non-Numeric Scalar Aggregator (string, binary, fixed binary, temporal) - [x] Non-Numeric Hash Aggregator (string, binary, fixed binary, temporal) - [x] Add `ordered` flag in aggregate kernels - [x] Implement and test skip null - [x] Update compute.rst ### Are these changes tested? - [x] Compute Kernel Test (Scalar Kernels, all supported datatypes) - [x] Hash Aggregate Test (Hash Kernels, all supported datatypes) - [x] Segmented Aggregation Test (Both Scalar and Hash Kernels) ### Are there any user-facing changes? Yes. Added First and Last aggregator. Authored-by: Li Jin <ice.xelloss@gmail.com> Signed-off-by: Weston Pace <weston.pace@gmail.com>
### Rationale for this change This PR adds "first" and "last" aggregator and support using those with Acero's segmented aggregation. ### What changes are included in this PR? - [x] Numeric Scalar Aggregator (bool, int types, floating types) - [x] Numeric Hash Aggregator (bool, int types, floating types) - [x] Docstring - [x] Non-Numeric Scalar Aggregator (string, binary, fixed binary, temporal) - [x] Non-Numeric Hash Aggregator (string, binary, fixed binary, temporal) - [x] Add `ordered` flag in aggregate kernels - [x] Implement and test skip null - [x] Update compute.rst ### Are these changes tested? - [x] Compute Kernel Test (Scalar Kernels, all supported datatypes) - [x] Hash Aggregate Test (Hash Kernels, all supported datatypes) - [x] Segmented Aggregation Test (Both Scalar and Hash Kernels) ### Are there any user-facing changes? Yes. Added First and Last aggregator. Authored-by: Li Jin <ice.xelloss@gmail.com> Signed-off-by: Weston Pace <weston.pace@gmail.com>
### Rationale for this change This PR adds "first" and "last" aggregator and support using those with Acero's segmented aggregation. ### What changes are included in this PR? - [x] Numeric Scalar Aggregator (bool, int types, floating types) - [x] Numeric Hash Aggregator (bool, int types, floating types) - [x] Docstring - [x] Non-Numeric Scalar Aggregator (string, binary, fixed binary, temporal) - [x] Non-Numeric Hash Aggregator (string, binary, fixed binary, temporal) - [x] Add `ordered` flag in aggregate kernels - [x] Implement and test skip null - [x] Update compute.rst ### Are these changes tested? - [x] Compute Kernel Test (Scalar Kernels, all supported datatypes) - [x] Hash Aggregate Test (Hash Kernels, all supported datatypes) - [x] Segmented Aggregation Test (Both Scalar and Hash Kernels) ### Are there any user-facing changes? Yes. Added First and Last aggregator. Authored-by: Li Jin <ice.xelloss@gmail.com> Signed-off-by: Weston Pace <weston.pace@gmail.com>
Describe the enhancement requested
Add first and last aggregation kernel and support in Acero
Component(s)
C++
The text was updated successfully, but these errors were encountered: