Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add ibis-based duckdb offline store #3822

Closed
wants to merge 2 commits into from

Conversation

tokoko
Copy link
Collaborator

@tokoko tokoko commented Oct 29, 2023

What this PR does / why we need it:
This PR adds two offline store implementations:

  • ibis - a base offline store implementation meant to be used by other offline stores.
  • duckdb - a thin layer on ibis offline store meant to be tested and used by users just like other offline stores.

This is a draft PR to garner feedback from the community regarding the idea to converge offline store implementations to a single abstract base implementation that will then be extended by concrete offline stores. Right now each feast offline store has to more or less reimplement the same data transformation logic (mainly point-in-time join) in their respective technologies. The goal of this PR is to suggest a possible alternative approach where feast would only implement abstract transformations and offload technology translation details to another library, namely ibis.

Ibis is a lightweight python library that offers a universal dataframe API with pluggable query engine backends. As of now it can interface with 15+ engines with varying level of API coverage, including BigQuery, Snowflake, Pyspark, PosgreSQL, Trino and others. I think adopting ibis as a common backend for at least some offline store implementations (contrib stores for starters) would simplify development effort and ensure feature parity.

The implementation in this PR is very rough and far from merge-ready. The main goal is to find out it the community thinks this is a good long-term approach for feast offline stores in general.

@tokoko tokoko closed this Mar 1, 2024
@tokoko tokoko deleted the feast-ibis branch April 4, 2024 19:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants