-
Notifications
You must be signed in to change notification settings - Fork 58
Description
Please Describe The Problem To Be Solved
The Problem: Other than Snowflake, there is a lack of connectors to other lakehouse solutions. While a Databricks connector would be nice for many corporate production runs, in the interest of open source, a Dremio connector might be more appreciated by the community. This request is to build a Dremio connector for Quary.
Optional: Suggest A Solution
Looking into the code architecture, it seems that the bulk of connectors are maintained within rust/quary-databases/src/databases_<flavor>.rs
and rust/core/src/database_<flavor>.rs
. Inspection shows a common class interface already designed across both. For Dremio, there are a number of protocols available including REST, JDBC, & ODBC. However, with a RUST build, it may be advantageous to use the ARROW Flight protocol as Dremio highly support it - can lead to 20X speed-up over JDBC. *In fact, could even extend this issue to a generic "Arrow Flight Connector" type.
A possible plan includes:
- Review full connection interface by building "skeleton" version of
rust/quary-databases/src/databases_dremio.rs
. - Review Dremio docs, although may not be needed if just functional Arrow SQL.
- Get feedback on any other requirements to implement a Dremio connector - thought I saw something else in SQL interfacing code.
- Design for any other feedback (e.g. any other needed
*_dremio.rs
files). - Unit test.
- Review & release into the wild.
Happy to help on this to build out my Rust expertise...