Questions around Iceberg-rust #468
-
Hello, I had some questions around Iceberg-rust regarding data interactions with S3, authn, and authz.
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
Catalog will manage the bucket by their own. For example, to start a demo rest catalog, your can use:
Both pyiceberg and iceberg-rust implement the Iceberg specification. You can write an Iceberg table with iceberg-rust and then read it using pyiceberg.
iceberg-rust has not yet fully implemented support for DataFusion. Therefore, users will need to utilize the Rust APIs we provide to manipulate tables.
Iceberg-rust does not directly handle authentication or authorization. Typically, these functions are managed by catalog implementations. The community is moving to deprecate the token endpoint and adopt the OAuth2 specification (not decided yet).
There should be no difference in iceberg-rust as long as it adheres to the iceberg-rest catalog specifications.
OpenDAL serves as the core file IO for iceberg-rust and does not directly interact with the catalog. However, it's possible to implement an iceberg catalog based on opendal. |
Beta Was this translation helpful? Give feedback.
-
It depends on what catalog you are using. For hms/glue catalog, which could be classified as client side catalog, you need to setup hive metastore or glue server, and pass
Currently there is no relationship between these two libraries, and they are just iceberg implementation in different languages. iceberg-rust is a library, so you can use it in a server, but you need to write server code by yourself. Since pyiceberg and iceberg-rust both implement iceberg spec, so you can in theory use iceberg-rust to write data into iceberg table, and use pyiceberg to read them, and vice verse.
Currently iceberg-rust has not implemented writing to table yet. The community focuses on reading support in recent releases. @Xuanwo 's answer about other parts are great, and I don't have much to add. |
Beta Was this translation helpful? Give feedback.
It depends on what catalog you are using. For hms/glue catalog, which could be classified as client side catalog, you need to setup hive metastore or glue server, and pass
warehouse
configuration to catalog builder. For rest catalog, it's the rest catalog server's responsibility to manage the location.