apache / apache/iceberg-python
Error when upserting and updating dataframes with dictionary encoded columns
- 主要语言
- Python
- 星标
- 1.1k
- 派生
- 581
- 平均合并
- 1 天 17 小时
- 30 天内合并 PR
- 78
描述
### Apache Iceberg version
0.9.1
### Please describe the bug 🐞
df = pyarrow.read_table(read_dictionary=[string_columns])
table = catalog.load_table(table_name)
table.append(df) -> 'append' casts dictionary columns into large string and table appended without any error
table.upsert(df, join_cols=[primary_keys]) -> Error (Invalid Type Dictionary)
table.update(df, join_cols=[primary_keys]) -> Error (Invalid Type Dictionary)
### Willingness to contribute
- [ ] I can contribute a fix for this bug independently
- [ ] I would be willing to contribute a fix for this bug with guidance from the Iceberg community
- [x] I cannot contribute a fix for this bug at this time
贡献指南
这个仓库没有索引到贡献指南
调研方向
首先使用 pyarrow.read_table(read_dictionary=[string_columns]) 以及从 catalog.load_table(table_name) 加载的表重现该问题。比较 table.append(df)、table.upsert(df, join_cols=[primary_keys]) 和 table.update(df, join_cols=[primary_keys]);当 upsert 和 update 能够处理 dictionary 编码的列而不会出现报告的 Invalid Type Dictionary 错误时,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- databases
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 活跃
- 描述清晰度
- 基本清楚
- 新手友好度
- 50/100