Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

WindowEvaluator already provides the pure-Python window UDF base class #1577 (item 6) asks for

Offen
#1,670 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
25/100
Issue-Typ
Feature
Klarheit
Muss geklärt werden
Aktivitätsstatus
Ruhig
Tech-Stack
python

Rechercherichtung

Lesen Sie datafusion.user_defined.WindowEvaluator und crates/core/src/udwf.rs::RustPartitionEvaluator und überprüfen Sie anschließend die reinen Python-Unterklassen in python/tests/test_udwf.py. Bestimmen Sie, ob ein ABC weiterhin erforderlich ist, und definieren Sie, falls ja, einen Vertrag für die Abstraktheit, der die dokumentierte Flag-Matrix abdeckt; abgeschlossen ist die Aufgabe, wenn die angeforderte Richtung geklärt und im Issue oder Implementierungsplan festgehalten ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Split out from #1577 (item 6), which asks for a WindowUDF ABC equivalent to Accumulator.

Checked this against current main: datafusion.user_defined.WindowEvaluator already provides the capability. crates/core/src/udwf.rs::RustPartitionEvaluator dispatches memoize / get_range / evaluate / evaluate_all / evaluate_all_with_rank / supports_bounded_execution / uses_window_frame / include_rank via call_method, and python/tests/test_udwf.py has several pure-Python subclasses driven through udwf().

It's deliberately not metaclass=ABCMeta like Accumulator, though: which evaluate* method must be implemented depends on the uses_window_frame / supports_bounded_execution / include_rank flag matrix documented on the class, so no single method can be marked @abstractmethod the way Accumulator's can.

Opening this to confirm: is the literal "ABC" form still wanted on top of what exists (and if so, what should the abstractness contract look like given the flag matrix), or should #1577 drop this item?

Vorherrschende Sprache
Python
Sterne
605
Forks
176
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
8

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus apache/datafusion-python

Alle Issues in apache/datafusion-python

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

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