apache / apache/datafusion-python
Add wrapper classes for Expression types
- Linguagem predominante
- Python
- Estrelas
- 604
- Forks
- 174
- Merge médio
- 1d 7h
- PRs com merge (30d)
- 4
Descrição
**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
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Direção de pesquisa
Comece revisando as exportações atuais de datafusion.expr, especialmente a reexportação de expr_internal.Limit, e depois leia o PR #1674 e a issue #1673 para entender o caso de uso motivador. Defina o escopo do wrapper com base nos tipos Expression existentes; o trabalho estará concluído quando os wrappers pretendidos expuserem os dados de expressão solicitados, incluindo Limit.fetch e Limit.skip.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- api
- Tipo de issue
- Funcionalidade
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Status de atividade
- Pouca atividade
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 45/100