配置参数
| 参数 | 参数说明 | 参数默认值 |
|---|---|---|
| spark.sql.materialized.views.location | 用于指定普通物化视图的存储位置,对于智能物化视图不生效。 如果没有指定这个参数,Spark会使用默认的存储位置。 | - |
| spark.sql.materialized.views.rewrite.enabled | 控制是否启用物化视图查询重写功能。 查询重写是指在执行查询时,Spark会尝试将查询重写为使用物化视图,以提高查询性能。
| false |
| spark.sql.materialized.views.calcite.timeoutSeconds | 用于控制在查询重写过程中Calcite规划器的最大超时时间,以秒为单位。 如果在指定的时间内Calcite规划器没有完成查询重写,Spark会放弃使用物化视图并按原样执行查询。 | 10 |
| spark.sql.cte.mv.enabled | 符合条件的CTE定义将在查询执行后异步物化。后续如果出现结构完全相同的 CTE 主体查询,将直接通过简单扫描物化视图(MV)来代替重新计算。(当前不支持Session级打开/开关,后续会支持Session级开关)
| false |
| spark.sql.cte.mv.viewPrefix | 由CTE物化功能创建的临时视图名称的前缀。 | cte |
| spark.sql.cte.mv.database | 存储CTE物化视图的数据库名称。 | default |
| spark.sql.materialized.views.cte.hash.match | 用于控制物化视图查询重写时,是否启用hash匹配模式。 hash匹配模式能够更快地命中物化视图,但缺点是被重写的sql必须与物化视图逻辑执行计划完全一致,否则无法命中。
| false |