apache / apache/datafusion-python
Wire FFI_TableProvider / TableProvider(ABC) through to the Rust TableProvider trait
- Linguagem predominante
- Python
- Estrelas
- 604
- Forks
- 174
- Merge médio
- 2d 22h
- PRs com merge (30d)
- 5
Descrição
Split out from #1577 (item 2).
Unlike `CatalogProvider` / `SchemaProvider`, wiring a plain-Python `TableProvider` subclass through to the Rust `TableProvider` trait needs a new `RustWrappedPyTableProvider`, analogous to `RustWrappedPySchemaProvider` in `catalog.rs`. It has to cover `scan()` returning an `ExecutionPlan`, `supports_filters_pushdown`, and statistics.
This is execution-engine work, not a typing-only change, so it doesn't belong in a typing PR. Opening as its own issue so the design (partial pushdown support, how statistics get surfaced to the Python side) can be discussed before someone picks it up.
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Direção de pesquisa
Comece lendo catalog.rs, especialmente RustWrappedPySchemaProvider, e revise o item 2 de #1577. Rastreie os pontos de entrada de TableProvider(ABC) e Rust TableProvider e, em seguida, esclareça como scan(), supports_filters_pushdown e statistics devem atravessar a fronteira. Considera-se concluído quando o wrapper e seu comportamento de partial-pushdown e statistics estiverem implementados e acordados.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python, rust
- Domínio
- backend, data-engineering
- Tipo de issue
- Funcionalidade
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Status de atividade
- Pouca atividade
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 35/100