信息名称 |
信息内容 |
---|---|
问题来源 |
网上维护 |
产品大类 |
鲲鹏BoostKit |
产品子类 |
大数据 |
业务场景 |
调试运行 |
组件分类 |
其他 |
输出时间 |
2024/4/22 |
案例作者 |
伍锐恒 |
所属团队 |
鲲鹏BoostKit |
评审结果 |
评审通过 |
评审时间 |
2024/5/10 |
发布时间 |
2024/6/30 |
关键字 |
Hive多SQL任务参数采样过程超时杀任务后解析出2条日志 |
归属文档 |
OmniAdvisor 特性指南 |
当Hive多SQL任务在进行参数采样时,若任务运行时间超过了当前数据库中最佳参数执行时间的两倍时,会触发Kill任务逻辑。由于Tez机制原因,被Kill掉的DAG有小概率会重新拉起一个新的任务,在这种情况下老的采样任务可能会出现只存在部分SQL的DAG且为执行成功的状态,此时日志解析有小概率解析到两条任务,其中一条为部分SQL的成功任务。
在配置identification为application_name时,会认为这个不全的成功任务为该调优任务较优的参数,导致推荐出较慢的参数。
此时观察timeline server界面,可见被Kill的任务和自行重新拉起的任务。
无
当参数调优配置“$OMNIADVISOR_HOME/BoostKit-omniadvisor_1.1.0/config/common_config.cfg”文件配置项中的identification_type为默认值job_hash时,该任务匹配会失败,不影响参数调优,继续进行采样和推荐即可。
当identification_type为application_name时,需要进入数据库中清理异常数据,详情请见下列操作。
# 输入账号密码进入MySQL mysql -uuser -ppassword # 选择使用的database use hive_test;
DELETE FROM history_config WHERE application_id='killed_app_id';
UPDATE best_config SET parameters = subquery.parameters, duration_time = subquery.duration_time FROM ( SELECT parameters, duration_time FROM history_config WHERE application_name = 'app_name' ORDER BY duration_time ASC LIMIT 1 ) AS subquery WHERE best_config.application_name = 'app_name';