Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Expose SessionContext.create_physical_expr for logical-to-physical Expr conversion

Ouverte
#1,573 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
48/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Calme
Stack technique
python, rust
Domaine
api, backend

Piste de recherche

Commencez par SessionContext::create_physical_expr et le point d’entrée PyPhysicalExpr proposé ; suivez la manière dont les bindings Python gèrent Expr, DFSchema, RecordBatch et ColumnarValue. Le travail est terminé lorsque Python peut créer une expression physique à partir d’un Expr et d’un DFSchema, appeler evaluate(batch) et recevoir un ColumnarValue.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Background

SessionContext::create_physical_expr converts a logical Expr against a DFSchema into a PhysicalExpr that can be evaluated directly against Arrow record batches. The Python bindings do not expose this.

Upstream signature

pub fn create_physical_expr(
    &self,
    expr: Expr,
    input_dfschema: &DFSchema,
) -> Result<Arc<dyn PhysicalExpr>>

User value

Useful when callers want to evaluate an Expr against an in-memory RecordBatch without going through DataFrame execution -- for example to score / filter individual batches in a custom processing loop, to debug optimization rewrites, or to feed an expression into a custom physical operator. Niche but irreplaceable for that audience.

Why deferred

Effort is small (~180-280 LOC) but requires a new PyPhysicalExpr wrapper exposing the opaque Arc<dyn PhysicalExpr> trait object plus an evaluate(batch) -> ColumnarValue method to make it useful from Python. Zero open user requests at the time of audit. Filed for tracking; revisit when a user surfaces a concrete need or when adjacent FFI work pulls PhysicalExpr into the binding surface.

Langage dominant
Python
Étoiles
605
Forks
176
Merge moyen
1 j 23 h
PR mergées (30 j)
8

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de apache/datafusion-python

Toutes les issues de apache/datafusion-python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.