apache / apache/iceberg-python
Upserting large table extremely slow
- Ngôn ngữ chính
- Python
- Star
- 1.1k
- Fork
- 581
- Merge trung bình
- 1 ngày 17 giờ
- Pull request đã merge (30 ngày)
- 78
Mô tả
### Feature Request / Improvement
## Feature Request / Improvement
Upserting large dataframes (tens of millions of rows) in un-usably slow due to creating a massive `BooleanExpression` in `upsert_util.create_match_filter`. This is before any IO is even started. It would be nice if upserts could support large tables.
I'd be happy to work on this issue.
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
Bắt đầu từ upsert_util.create_match_filter, nơi issue xác định một BooleanExpression khổng lồ là nút thắt cổ chai trước I/O. Theo dõi cách bộ lọc này được sử dụng trong quá trình upsert dataframe và đo hành vi với một bảng lớn. Được xem là hoàn thành khi việc upsert hàng chục triệu hàng không còn mất một khoảng thời gian không thể chấp nhận được để xây dựng bộ lọc khớp.
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
- data-engineering
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 48/100