配置HetuEngine物化视图缓存能力
对于一条SQL,创建了对应的物化视图后,执行这条SQL时,将被改写为通过物化视图查询。如果开启了物化视图的“重写缓存”功能,那么多次执行这条SQL后,改写后的SQL将会保存到缓存中(默认最多保存10000条),在缓存有效时间(默认24小时)内,执行这条SQL时会直接从缓存中获取改写后的SQL,而不是重新对SQL进行改写。
可在计算实例中添加自定义参数“rewrite.cache.timeout”和“rewrite.cache.limit”分别设置缓存有效时间和最多能保存的改写SQL的条数。
- 创建一个新的物化视图,或者删除一个已有的物化视图时,缓存将失效。
- 如果缓存中被改写的SQL查询所关联的物化视图失效,或者处于REFRESHING状态,该条被改写的SQL查询将不会被使用。
- 当使用缓存时,被执行的SQL不能有任何改变,否则它将被当做一条新的SQL查询。
- 创建的物化视图中最多有500个可以用于SQL查询的改写,也就是SQL改写时使用的物化视图如果被包含在这500个中,那么就会进行改写,否则就当做普通SQL执行。可参考•System级别:在计算实例中添加自定义参数“hetu.select.top.materialized.view”来改变允许使用的物化视图个数。
开启物化视图“重写缓存”
- Session级别:
参考快速使用HetuEngine访问Hive数据源在HetuEngine客户端执行set session rewrite_cache_enabled=true
- System级别:
- 使用用于访问HetuEngine WebUI界面的用户登录FusionInsight Manager。
- 选择“集群 > 服务 > HetuEngine”,进入HetuEngine服务页面。
- 在概览页签下的“基本信息”区域单击“HSConsole WebUI”后的链接,进入HSConsole界面。
- 单击“计算实例”,查看待操作的租户的实例状态,当绿色图标和蓝色图标数量均为“0”时,可执行5配置开启物化视图改写能力。
- 在“计算实例”页签,在待操作的实例所属租户所在行的“操作”列单击“配置”,进入“配置实例”页签,添加如下自定义参数。
名称
值
参数文件
描述
rewrite.cache.enabled
true
coordinator.config.properties
启用物化视图“重写缓存”
rewrite.cache.timeout
86400000
coordinator.config.properties
- 修改“重写缓存”的有效期
- 不填则使用默认值:86400000,单位:ms
rewrite.cache.limit
10000
coordinator.config.properties
- 修改“重写缓存”的缓存上限
- 不填则使用默认值:10000,单位:条
- 参数添加完成后,将“立即启动”置为“是”,单击“确定”。