apache / apache/iceberg-python

Add `delete_files`

Open
#2,787 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
1.1k
Forks
581
Avg merge
1d 17h
Merged PRs (30d)
78

Description

### Feature Request / Improvement

Hello All,

First of all, apologies as I am not very experienced with PyIceberg.

I currently have a Java application that "manually" updates table metadata and can add new files if they don't exist and replace older files if they already do. This guarantees that, as long as the file names are fixed, I should not have duplicates.

In Java, I use [deleteFile](https://iceberg.apache.org/javadoc/0.13.1/org/apache/iceberg/DeleteFiles.html#deleteFile-java.lang.CharSequence-) and then [addFile](https://iceberg.apache.org/javadoc/0.13.1/org/apache/iceberg/OverwriteFiles.html#addFile-org.apache.iceberg.DataFile-).

In PyIceberg, I can [Add Files](https://py.iceberg.apache.org/api/#add-files), but I don't see options to "Delete Files" or overwrite.

Is `delete_files()` a feature that you could add?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with PyIceberg’s existing Add Files API and compare its behavior with the linked Java DeleteFiles and OverwriteFiles APIs. Define the supported delete_files or overwrite semantics and verify that the completed feature lets callers remove or replace existing data files without creating duplicates.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data-engineering
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.