apache / apache/datafusion

Make the `tdigest` public

Offen
#8,554 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
Rust
Sterne
9.3k
Forks
2.4k
Ø Merge
3 T. 11 Std.
Gemergte PRs (30 T.)
360

Beschreibung

### Is your feature request related to a problem or challenge?

I would like to build a custom aggregator based on the [tdigest](https://github.com/apache/arrow-datafusion/blob/main/datafusion/physical-expr/src/aggregate/tdigest.rs). The tdigest `mod` is private, and thus I can't use it outside DataFusion. It would be great if it would be changed to poublic to allow custom aggregators based on it.

### Describe the solution you'd like

To allow building new aggregators based on the `tdigest` make it public by changing the following
https://github.com/apache/arrow-datafusion/blob/b276d479918400105017db1f7f46dcb67b52206d/datafusion/physical-expr/src/aggregate/mod.rs#L58
to
```rust
pub mod tdigest
```
and change the visibility in the tdigest `mod` to public too.

### Describe alternatives you've considered

If changing the visibility to public is not possible, I would need to introduce my own tdigest and reproduce a lot of code to make it work as an aggregator. This also means that I need to update the code with each new version of DataFusion.

### Additional context

_No response_

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, datafusion/physical-expr/src/aggregate/mod.rs bei der referenzierten tdigest-Moduldeklaration zu lesen, und untersuche anschließend datafusion/physical-expr/src/aggregate/tdigest.rs auf die angeforderten Änderungen der Sichtbarkeit. Erledigt ist die Aufgabe, wenn externe benutzerdefinierte Aggregatoren auf das tdigest-Modul und seine erforderlichen öffentlichen Elemente zugreifen können und die Projektprüfungen weiterhin erfolgreich sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rust
Bereich
databases
Issue-Typ
Feature
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.