apache / apache/iceberg-python

Upserting large table extremely slow

未关闭
#2,159 22 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看
stale
主要语言
Python
星标
1.1k
派生
581
平均合并
1 天 17 小时
30 天内合并 PR
77

描述

### 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.

贡献指南

这个仓库没有索引到贡献指南

调研方向

从 upsert_util.create_match_filter 开始,该 issue 指出一个巨大的 BooleanExpression 是 I/O 之前的瓶颈。跟踪 dataframe upsert 期间如何使用此过滤器,并使用一个大表测量其行为。完成的标准是:对数千万行执行 upsert 时,不再将无法接受的大量时间花费在构建匹配过滤器上。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
data-engineering
Issue 类型
功能
难度
4/5
预计耗时
3-5 天
活跃度
活跃
描述清晰度
基本清楚
新手友好度
48/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。