Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#1,573 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
python, rust
領域
api, backend

調査の方向性

SessionContext::create_physical_expr と提案されている PyPhysicalExpr エントリーポイントから始め、Python バインディングが Expr、DFSchema、RecordBatch、ColumnarValue をどのように扱うかを追跡します。Python から Expr と DFSchema を使って物理式を作成し、evaluate(batch) を呼び出して ColumnarValue を受け取れるようになれば完了です。

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
Python
スター
605
フォーク
176
平均マージ
1日 23時間
マージ済み PR(30日)
8

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

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

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

apache/datafusion-python のほかの issue

apache/datafusion-python の issue をすべて見る

似ている issue

Python の issue をもっと見る

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

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