apache / apache/datafusion-python

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

オープン
#1,573 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
604
フォーク
174
平均マージ
1日 7時間
マージ済み PR(30日)
4

説明

## 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

```rust
pub fn create_physical_expr(
&self,
expr: Expr,
input_dfschema: &DFSchema,
) -> Result>
```

## 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` 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.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。