调整CTE(公用表表达式)配置
操作场景
如果查询中包含的表或公用表表达式(CTE)出现多次且具有相同的投影和过滤器,则可以配置打开CTE Reuse功能来将数据缓存在内存中,可以避免多次从磁盘读取数据,减少执行查询所需的时间。
操作步骤
- 登录FusionInsight Manager页面。
- 选择“集群 > 服务 > HetuEngine > 配置 > 全部配置”,参考表1配置相关参数。
表1 CTE配置参数 参数名称
参数解释
建议值
默认值
参数文件
optimizer.reuse-table-scan
是否启用cte的表数据重用功能
true
false
coordinator.config.properties、worker.config.properties
experimental.spill-reuse-tablescan
是否启用重用tablescan时尝试将内存溢出到磁盘功能
true
false
coordinator.config.properties、worker.config.properties
optimizer.cte-reuse-enabled
是否启动cte重用的功能,启用此标志后,无论主查询中使用同一CTE多少次,都仅执行一次公用表表达式(CTE)
true
false
coordinator.config.properties、worker.config.properties
dynamic-filtering-max-per-driver-size
动态过滤开始时每个driver可以收集的最大数据量
100MB
1MB
coordinator.config.properties、worker.config.properties
- 单击“保存”,保存配置。
- 选择“集群 > 服务 > HetuEngine > 更多 > 重启服务”,输入密码后重启HetuEngine服务让参数生效。
- 若存在运行中的计算实例需重启HetuEngine计算实例。
- 使用HetuEngine管理员用户登录Manager,选择“集群 > 服务 > HetuEngine”,进入HetuEngine服务页面。
- 在“概览”页签下的“基本信息”区域,单击“HSConsole WebUI”后的链接,进入HSConsole界面。
- 单击“计算实例”,勾选待操作实例,单击“重启”根据界面提示重启HetuEngine计算实例。