apache / apache/datafusion-python

Add wrapper classes for Expression types

Offen
#1,681 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
Python
Sterne
604
Forks
174
Ø Merge
1 T. 7 Std.
Gemergte PRs (30 T.)
4

Beschreibung

**Is your feature request related to a problem or challenge? Please describe what you are trying to do.**

As part of the discussion in https://github.com/apache/datafusion-python/pull/1674 we found a user wants access to some of the elements within an expression. In this case, `Limit`. If there is a growing base of users who want to use `datafusion-python` to do things such as analyzing the plans and using the data in them, then we should probably add wrapper classes for each of the Expressions.

**Describe the solution you'd like**

Right now we have the expressions like `Limit` available in `datafusion.expr` reexported like

```python
Limit = expr_internal.Limit
```

Instead we could have a `datafusion.expr` module that contains

```python
class Limit(Expr):
```

which has attributes to get `fetch` and `skip`.

**Describe alternatives you've considered**

We could leave as is and continue to expose data members as requested.

**Additional context**

This is a follow on to https://github.com/apache/datafusion-python/issues/1673

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Start by reviewing the current datafusion.expr exports, especially the expr_internal.Limit re-export, then read PR #1674 and issue #1673 for the motivating use case. Define the wrapper scope from the existing Expression types; the work is done when the intended wrappers expose the requested expression data, including Limit.fetch and Limit.skip.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
api
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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