报错详情:查外表报错Request denied, may caused by server busy。
报错原因:外表资源占满,CPU 用量严重超出。
解决方法:
1.优化sql,让sql更加充分合理的使用资源,详情见外表优化手段。
2.合理的使用一些参数改善:先看一下当前的配置:show hg_experimental_foreign_table_executor_max_dop。
降低并发度:sethg_experimental_foreign_table_executor_max_dop = <并发数>(推荐降低一半)。
参数含义:外表单个执行节点读取外表数据的并发度。
默认值:256。
范围:0-1024。
修改后的风险:并发度太大可能造成实例oom ,导入/查询失败,甚至实例重启,以至于服务不可用。并发度太小会导致外表查询/外表导入内表性能较差。
示例:sethg_experimental_foreign_table_executor_max_dop = 183.导入内表,内表可以设置索引,让性能更好。