apache / apache/datafusion-python

Add wrapper classes for Expression types

Đang mở
#1,681 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
enhancement
Ngôn ngữ chính
Python
Star
604
Fork
174
Merge trung bình
1 ngày 7 giờ
Pull request đã merge (30 ngày)
4

Mô tả

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

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Start by reviewing the current datafusion.expr exports, especially the expr_internal.Limit re-export, then read PR #1674 and issue #1673 for the motivating use case. Define the wrapper scope from the existing Expression types; the work is done when the intended wrappers expose the requested expression data, including Limit.fetch and Limit.skip.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python
Lĩnh vực
api
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
45/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.