Skip to content

ADBC Driver #954

Closed
Closed
@wjones127

Description

@wjones127

Description

I'm thinking about something we might want to work toward in 2023, and an ADBC driver might be a good focus. We would aim to use this to support integration with DuckDB and Polars, as well as to upgrade the Python reader and writer. (DataFusion could also use this, but likely we will have direct support using the underlying implementation; see the doc for details.)

Draft design doc here, open to comments: https://docs.google.com/document/d/1ud-iBPg8VVz2N3HxySz9qbrffw6a9I7TiGZJ2MBs7ZE/edit?usp=sharing

Use Case

Make it easy to build connectors to Delta-rs, no matter the language, and with strong guarantees of implementation correctness.

Related Issue(s)

Work on ADBC driver (in rough priority order):

  • Create initial ADBC connector that provides access to delta lake catalogue
  • Add support for SELECT queries
  • Set up DAT reader tests for connector
  • Set up object store parameters and integration tests
  • Add support for SELECT COUNT(*) queries
  • Add support for OPTIMIZE and VACUUM
  • Add support for CREATE and INSERT INTO/OVERWRITE
  • Set up DAT writer tests
  • Add support for UPDATE
  • Add support for DELETE
  • Add support for MERGE
  • Add Substrait support for all queries

Downstream work enabled by driver:

  • Switch Python bindings to read and write from ADBC driver
  • Create R bindings
  • Create DuckDB plugin
  • Create Polars integration
  • Ibis integration?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions