Skip to content

Support Snowflake-Managed Iceberg Tables via SnowflakeCatalog #1834

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

srilman
Copy link
Contributor

@srilman srilman commented Mar 24, 2025

Closes #685.

Rationale for this change

Reopens PR #687 that adds a Snowflake Catalog that was closed. I addressed comments and applied some additional changes based on errors found when used with the Bodo data processing library.

One way Snowflake supports Iceberg is via managed tables, where Snowflake has both read and write access to these tables. They are basically regular Snowflake tables with an Iceberg backend. Outside of Snowflake, these tables are read-only. To work with them, we wrap some SQL calls in a Catalog API.

I skipped some of the less-commonly used APIs that can be filled in later.

Are these changes tested?

Tested manually by itself and with the Bodo library on both AWS and Azure. Some of the Azure tests don't current work because Snowflake uses path prefixes like wasb://, wasbs://, etc. Waiting for the other PR for support for PyArrowFileIO w/ Azure.

Also copied the mock tests from the original PR.

Are there any user-facing changes?

Users can read and query Snowflake-managed Iceberg tables, with minimal write operations.

@srilman srilman marked this pull request as ready for review March 24, 2025 01:13
@Fokko
Copy link
Contributor

Fokko commented Apr 4, 2025

@srilman From what I understand from Snowflake, it is also transitioning to the Rest Catalog protocol. I much rather use that since it is properly tested. As you mentioned, there are some unsolved issues with the Snowflake catalog.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support for snowflake catalog in apache iceberg
2 participants