You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PyIceberg default to the [fast append](https://iceberg.apache.org/spec/#snapshots) to minimize the amount of data written. This enables quick writes, reducing the possibility of conflicts. The downside of the fast append is that it creates more metadata than a normal commit. [Compaction is planned](https://github.com/apache/iceberg-python/issues/270) and will automatically rewrite all the metadata when a threshold is hit, to maintain performant reads.
220
+
221
+
<!-- prettier-ignore-end -->
222
+
223
+
```python
224
+
tbl.append(df)
225
+
226
+
# or
227
+
228
+
tbl.overwrite(df)
229
+
```
230
+
231
+
The data is written to the table, and when the table is read using `tbl.scan().to_arrow()`:
The nested lists indicate the different Arrow buffers, where the first write results into a buffer, and the second append in a separate buffer. This is expected since it will read two parquet files.
268
+
269
+
<!-- prettier-ignore-start -->
270
+
271
+
!!! example "Under development"
272
+
Writing using PyIceberg is still under development. Support for [partial overwrites](https://github.com/apache/iceberg-python/issues/268) and writing to [partitioned tables](https://github.com/apache/iceberg-python/issues/208) is planned and being worked on.
273
+
274
+
<!-- prettier-ignore-end -->
275
+
178
276
## Schema evolution
179
277
180
278
PyIceberg supports full schema evolution through the Python API. It takes care of setting the field-IDs and makes sure that only non-breaking changes are done (can be overriden).
0 commit comments