Hi all,

Iceberg-rust currently has a static FileIO implementation backed by
OpenDAL, and the discussion around making FileIO a trait has been ongoing
in the Iceberg Rust community, and we’ve recently reached consensus in
the GitHub
issue <https://github.com/apache/iceberg-rust/issues/1314> to instead make
the underlying Storage a trait while keeping FileIO as a struct. This
change should give users the flexibility to customize FileIO behavior,
similar to how FileIO works in Iceberg Java.

I’ve put together a design doc that outlines the problem, proposed design,
and some code snippets from my exploration of different approaches. You can
find it here:
👉
https://docs.google.com/document/d/1-CEvRvb52vPTDLnzwJRBx5KLpej7oSlTu_rg0qKEGZ8/edit?usp=sharing

Please feel free to join the discussion. Would love your feedback on it!

Best,
Shawn

Reply via email to