The Open Data Protocol (OData) is a data access protocol built on core protocols like HTTP and commonly accepted methodologies like REST for the web. Think of OData as a HTTP/REST version of JDBC/ODBC. Pretty thorough/complex.
This can be implemented by creating an intermediate service which handles requests and can query the Delta Lake. That service will need to have a REST API for servicing OData. For reading Delta, the service could use 2 options:
- Either use the native Delta reader via a Databricks SQL Endpoint, in which case the request pipeline would look like: client -> HTTP -> JDBC/ODBC -> Spark/Databricks,
- Or use the Rust/Python/Ruby/Golang APIs from delta-rs: https://github.com/delta-io/delta-rs