Skip to content

feat: Databricks Backend: Add create_materialized_view #11817

@deschman

Description

@deschman

Is your feature request related to a problem?

No response

What is the motivation behind your request?

There would be performance advantages of having materialized views available within Databricks. Their marketing recommends them as the most efficient means of transforming data within their platform. There are plenty of scenarios where it makes more sense to continue to use tables for small datasets that entirely recreated every time so I would suggest having both available in addition to the ability to create normal views. I don't believe this adds much more complexity than asking a user to decide between making a table or view. Further, I have tested and confirmed that CREATE OR REPLACE MATERIALIZED VIEW will refresh a materialized view that already exists or fully recreate the view if the definition materially changes.

Describe the solution you'd like

From what I can tell, adding a create_materialized_view method within ibis/backends/databricks/init.py should be straight forward. The risingwave backend already implements this method as an alternative to create_table. As described in the motivation section, there are advantages to having both methods available for this backend althought I am not aware of other backends that implement both.

What version of ibis are you running?

11.0.0

What backend(s) are you using, if any?

Databricks, DuckDB, BigQuery, MSSQL, PostgreSQL

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureFeatures or general enhancements

    Type

    No type

    Projects

    Status

    backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions