apache / iceberg-python

Apache PyIceberg
https://py.iceberg.apache.org/
Apache License 2.0
479 stars 176 forks source link

PyIceberg Near-Term Roadmap #736

Open kevinjqliu opened 6 months ago

kevinjqliu commented 6 months ago

Feature Request / Improvement

PyIceberg 0.7.0

The main objective of 0.7.0 is to have partitioned writes (non-exhaustive list :)

PyIceberg 0.8.0

PyIceberg 1.0.0

Long-term goals:

corleyma commented 6 months ago

@kevinjqliu @Fokko Where would something like the Iceberg Spark create_changelog_view procedure fit in this roadmap? Is that something that might be tackled as part of the other procedures under table maintenance, or is it likely to come later (1.0.0), or not at all in PyIceberg?

Fokko commented 6 months ago

Sorry for the late reply, I was touching grass.

@kevinjqliu @Fokko Where would something like the Iceberg Spark create_changelog_view procedure fit in this roadmap? Is that something that might be tackled as part of the other procedures under table maintenance, or is it likely to come later (1.0.0), or not at all in PyIceberg?

Thanks for bringing this up @corleyma 🙌 Some related work is being done in https://github.com/apache/iceberg-python/pull/533/ and I think PyIceberg should definitely support something like that.

@kevinjqliu @Fokko where would something like https://github.com/apache/iceberg-python/issues/402 go?

I've added it to the overview. Once the partial deletes + partitioned writes are in, this is supported automatically. We might want to have some community discussion on the API once those two PRs land.

tusharchou commented 5 months ago

@Fokko can we add issues for creating tests and documentation for the new features of 0.7.0 as good first issues?

MehulBatra commented 5 months ago

@Fokko can we add issues for creating tests and documentation for the new features of 0.7.0 as good first issues?

@tusharchou: Whenever you create a new feature, you need to add the unit & integration test and make the necessary changes in mkdocs as a part of that PR, but if you feel like there are some missing parts, please feel free to raise an improvement/issue and we can discuss that in the python syncup.

jaehyeon-kim commented 1 month ago

It looks BigLake metastore is going to be replaced with BigQuery metastore. Is the version 0.8.0 roadmap still up-to-date?

https://github.com/trinodb/trino/issues/20031#issuecomment-2310391785

anoopj commented 1 month ago

@jaehyeon-kim That is correct. BigQuery Metastore is the replacement for BigLake Metastore. I recommend adjusting the roadmap to skip BigLake metastore and add support for BigQuery Metastore. This PR to the Iceberg Java libraries should be good reference.

kevinjqliu commented 1 month ago

Thanks for the context @anoopj. @jaehyeon-kim looks like #651 is a feature request. There's currently no committed date to implement it, I'll readjust the roadmap to reflect that.