Skip to content

feat: Databricks Unity Catalog Materialization#6565

Draft
falloficaruss wants to merge 9 commits into
feast-dev:masterfrom
falloficaruss:feat/databricks-uc-materialization
Draft

feat: Databricks Unity Catalog Materialization#6565
falloficaruss wants to merge 9 commits into
feast-dev:masterfrom
falloficaruss:feat/databricks-uc-materialization

Conversation

@falloficaruss

@falloficaruss falloficaruss commented Jun 28, 2026

Copy link
Copy Markdown

What this PR does / why we need it:

The L3 PR adds UC-backed materialization — the ability to write materialized features back to Unity Catalog Delta tables during feast materialize.
When feast materialize runs, the compute engine nodes (LocalOutputNode in local/nodes.py, SparkWriteNode in spark/nodes.py) now call a new write_uc_materialized_data() hook after writing to the online/offline stores. This hook:

  1. Checks if the offline store is databricks_uc with uc_registration.enabled
  2. Resolves the UC target path (catalog.schema.feature_view_name) from config or FeatureView tags
  3. Creates the UC feature table if it doesn't exist yet (via FeatureEngineeringClient.create_table)
  4. Merges the materialized data into the UC Delta table (via fe_client.write_table(mode="merge"))

Which issue(s) this PR fixes:

Fixes #6499

Checks

  • I've made sure the tests are passing.
  • My commits are signed off (git commit -s)
  • My PR title follows conventional commits format

Testing Strategy

  • Unit tests
  • Integration tests
  • Manual tests
  • Testing is not required for this change

Misc

falloficaruss and others added 9 commits June 14, 2026 15:38
Signed-off-by: Abhishek Shinde <norizzabhii@gmail.com>
…tion methods

Signed-off-by: Abhishek Shinde <norizzabhii@gmail.com>
Signed-off-by: Abhishek Shinde <norizzabhii@gmail.com>
…apply

Signed-off-by: Abhishek Shinde <norizzabhii@gmail.com>
…, fix operator precedence

- Rename UCRegistrationConfig.schema to uc_schema to avoid shadowing
  FeastConfigBaseModel.schema() class method
- Add explicit parentheses for operator precedence clarity in
  _feast_to_spark_type_simple
- Add missing BYTES and UNIX_TIMESTAMP type mappings
- Fix _resolve_uc_path return type hint (Optional[str] for catalog/schema)
- Add 36 unit tests covering all helper functions and
  register_uc_feature_tables with mocked external deps

Signed-off-by: Feast Dev <dev@feast.dev>
Signed-off-by: Abhishek Shinde <norizzabhii@gmail.com>
Signed-off-by: Abhishek Shinde <norizzabhii@gmail.com>
@falloficaruss falloficaruss changed the title Feat/databricks uc materialization feat: Databricks uc materialization Jun 28, 2026
@falloficaruss falloficaruss changed the title feat: Databricks uc materialization feat: Databricks Unity Catalog Materialization Jun 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Extend Feast's DataSource to natively support Iceberg REST Catalog-backed tables

1 participant