apache / apache/iceberg-python

Upserting large table extremely slow

Đang mở
#2,159 22 bình luận 2 reaction 0 người được giao Xem trên GitHub
stale
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

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.