Skip to content
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++] Abstract aggregation kernel API #20713

Closed
asfimport opened this issue Dec 27, 2018 · 1 comment
Closed

[C++] Abstract aggregation kernel API #20713

asfimport opened this issue Dec 27, 2018 · 1 comment

Comments

@asfimport
Copy link

asfimport commented Dec 27, 2018

Related to the particular details of implementing various aggregation types, we should first put a bit of energy into the abstract API for aggregating data in a multi-threaded setting

Aggregators must support both hash/group (e.g. "group by" in SQL or data frame libraries) modes and non-group modes.

Aggregations ideally should also support filter pushdown. For example:

select $AGG($EXPR)
from $TABLE
where $PREDICATE

Some systems might materialize the post-predicate / filtered version of $EXPR, then aggregate that. pandas does this for example. Vectorized performance can be much improved by filtering inside the aggregation kernel. How the predicate true/false values are handled may depend on the implementation details of the kernel (e.g. SUM or MEAN will be a bit different from PRODUCT)

Reporter: Wes McKinney / @wesm
Assignee: Francois Saint-Jacques / @fsaintjacques

Related issues:

PRs and other links:

Note: This issue was originally created as ARROW-4124. Please see the migration documentation for further details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants