---
title: Hive多SQL任务参数采样过程超时杀任务后解析出2条日志
description: "当Hive多SQL任务在进行参数采样时，若任务运行时间超过了当前数据库中最佳参数执行时间的两倍时，会触发Kill任务逻辑。由于Tez机制原因，被Kill掉的DAG有小概率会重新拉起一个新的任务，在这种情况下老的采样任务可能会出现只存在部分SQL的DAG且为执行成功的状态，此时日志解析有小概率解析到两条任务，其中一条为部分SQL的成功任务。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2400/bds/kunpengbds_omniruntime_20_0527.html
sourcePath: /source/zh/kunpengboostkithistory/2400/bds/kunpengbds_omniruntime_20_0527.html
indexId: 38714987a7d8296c23725dfefb3e6f58b6484ee76f6bfa9ad381f38138e75dbd78
---
# Hive多SQL任务参数采样过程超时杀任务后解析出2条日志

#### 问题现象描述

当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时，需要进入数据库中清理异常数据，详情请见下列操作。


1. 在Yarn Timeline的Web页面或者参数调优日志输出“yarn app -kill”后续的字样中查询到被kill的任务id，假设为killed_app_id，任务的application_name假设为app_name。
2. 进入MySQL数据库中，选择对应的数据库

```
# 输入账号密码进入MySQL
mysql -uuser -ppassword
# 选择使用的database
use hive_test;
```


3. 从历史任务表history_config中删除被Kill的任务的解析内容。

```
DELETE FROM history_config WHERE application_id='killed_app_id';
```


4. 从历史任务表history_config中选择当前最优的参数更新到最优任务表best_config中。

```
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';
```


5. 继续进行参数采样或者参数推荐即可。
