NVIDIA / NVIDIA/cudf

[FEA] Unify distinct_count column/table APIs.

Open
#10,183 4 comments 0 reactions 2 assignees Assigned to @PointKernel View on GitHub
0 - Backlog feature request libcudf
Dominant language
C++
Stars
9.8k
Forks
1.1k
Avg merge
3d 6m
Merged PRs (30d)
278

Description

**Is your feature request related to a problem? Please describe.**
While reviewing #10030, I found that the column and table algorithms for `distinct_count` have completely different flags for null and NaN handling. The column API has `null_policy` (include/exclude) and `nan_policy` (NaN is/isn't null), while the table API has `null_equality` (nulls are equal/unequal).

This also applies to `unordered_distinct_count`, introduced in #10030.

**Describe the solution you'd like**
The distinct count APIs for column/table should use the same flags (meaning that all three flags should probably be available to both APIs). This would also allow the column API to be a pass-through implementation of the table API, with a table composed of only that column, rather than having two implementations ([table](https://github.com/rapidsai/cudf/blob/2c6b0dac61a6671642bb5b076e910e20e2bdd1b6/cpp/src/stream_compaction/distinct_count.cu#L38-L62), [column](https://github.com/rapidsai/cudf/blob/2c6b0dac61a6671642bb5b076e910e20e2bdd1b6/cpp/src/stream_compaction/distinct_count.cu#L140-L168)).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.