An Apache Spark-based analytics platform optimized for Azure.
Predictive optimization does not support materialized views. The feature explicitly applies only to Unity Catalog managed tables, not to views or materialized views. The error INVALID_PARAMETER_VALUE.PREDICTIVE_OPTIMIZATION_UNSUPPORTED_CATALOG is consistent with attempting to use predictive optimization on an unsupported object type or catalog.
Regarding prerequisites and inheritance:
- Predictive optimization is only available for Unity Catalog managed tables in managed catalogs that are eligible for predictive optimization.
- Catalogs, schemas, and tables follow an inheritance model:
- Account → Catalog → Schema → Table.
- By default, catalogs are created with predictive optimization set to
INHERITfrom the account, and tables inherit from the schema.
- Catalog-level predictive optimization can be controlled independently (subject to permissions and catalog eligibility):
-
ALTER CATALOG [catalog_name] { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION; - A catalog owner (with required permissions) can
ENABLEpredictive optimization at the catalog level even if the account default is disabled, provided the catalog is a non-Delta Sharing, managed Unity Catalog catalog that is eligible for predictive optimization.
-
-
DESCRIBE CATALOG EXTENDEDshowingPredictive Optimization = DISABLE (inherited from METASTORE)means:- The catalog is currently inheriting a disabled setting from the account/metastore.
- This inherited setting can be overridden at the catalog level with
ENABLE PREDICTIVE OPTIMIZATIONif the catalog meets the eligibility requirements.
For tables:
- By default, tables inherit from the schema:
INHERIT. - Predictive optimization can be explicitly enabled at the table level:
-
ALTER TABLE my_table ENABLE PREDICTIVE OPTIMIZATION;
-
- When predictive optimization is enabled or inherited as enabled on a managed table, Azure Databricks automatically invokes
OPTIMIZE,VACUUM, andANALYZEas appropriate.
In summary:
- Materialized views are not supported by predictive optimization; only Unity Catalog managed tables are.
- Catalog-level predictive optimization is not a hard prerequisite for table-level enablement; a catalog owner can override inheritance and enable predictive optimization at the catalog level (and table owners can enable it at the table level) as long as the catalog and table are eligible Unity Catalog managed objects.
References: