---
title: OmniAdvisor参数调优配置文件说明
description: "**表1 common_config.cfg文件配置项说明**"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2300/bds/kunpengbds_omniruntime_20_0218.html
sourcePath: /source/zh/kunpengboostkithistory/2300/bds/kunpengbds_omniruntime_20_0218.html
indexId: dc824d9fdd74383ca748a1a0dc4417f744c322eb2f426a12ce6d4822d3b061dd78
---
# OmniAdvisor参数调优配置文件说明

#### common_config.cfg


**表1 common_config.cfg文件配置项说明**

| 模块名称 | 参数名称 | 缺省值 | 含义 |
| --- | --- | --- | --- |
| workload | workload\_name | tpcds\_bin\_partitioned\_decimal\_orc\_3000 | 测试执行的数据库名称。 |
| workload | log\_analyzer\_path | /opt/OmniAdvisor/boostkit\-omniadvisor\-log\-analyzer\-1.0.0\-aarch64 | 日志解析模块解压存放的路径。 |
| database | db\_name | test | MySQL的数据库名称，如果不存在会自动创建。 |
| database | db\_host | localhost | 连接MySQL的主机名。 |
| database | db\_port | 3306 | 连接MySQL的端口号。 |
| sampling | sampling\_epochs | 40 | 参数采样的轮数。 |
| recommend | recommend\_identifier | application\_name | 任务采样调优完成后，需要重新运行某个历史任务，可以通过任务的名称（application\_name）或者query的hash值（query\_hash）来指定查找数据库中该任务的最佳参数。 |
| spark | log\_start\_time | \- | Spark运行日志的起始时间，可以从Hadoop UI上查看日期。 |
| spark | log\_end\_time | \- | Spark运行日志的终止时间。 |
| spark | enable\_sampling\_all\_sql | true | 是否对已经运行过的SQL进行全部采样（从数据库中获取application\_name），如果为“true”，则history\_application\_name配置项会失效。 |
| spark | history\_application\_name | q12 | 指定需要进行采样训练的任务名称，比如q12，表示对该任务进行采样调优（前提是enable\_sampling\_all\_sql配置为false）。 |
| spark | total\_memory\_threshold | 1200 | 采样过程中，Spark最大内存资源使用限制，单位：GB。 |
| spark | spark\_default\_config | \-\-conf spark.sql.orc.impl=native \-\-conf spark.locality.wait=0 \-\-conf spark.sql.broadcastTimeout=300 | Spark默认参数，一般默认参数不参与参数采样过程。 |
| hive | log\_start\_time | \- | Tez运行日志的起始时间，可以从Hadoop UI上查看日期。 |
| hive | log\_end\_time | \- | Tez运行日志的终止时间。 |
| hive | enable\_sampling\_all\_sql | true | 是否对已经运行过的SQL进行全部采样（从数据库中获取application\_name），如果为“true”，则history\_application\_name配置项会失效。 |
| hive | history\_application\_name | query12 | 指定需要进行采样训练的任务名称，例如query12，表示对该任务进行采样调优（前提是enable\_sampling\_all\_sql配置为false）。 |
| hive | hive\_default\_config | \-\-hiveconf hive.cbo.enable=true \-\-hiveconf tez.am.container.reuse.enabled=true \-\-hiveconf hive.merge.tezfiles=true \-\-hiveconf hive.exec.compress.intermediate=true | Hive默认参数，一般默认参数不参与参数采样过程。 |


#### omniAdvisorLogAnalyzer.properties


**表2 omniAdvisorLogAnalyzer.properties文件配置项说明**

| 配置模块 | 配置项 | 缺省值 | 含义 |
| --- | --- | --- | --- |
| log analyzer | log.analyzer.thread.count | 3 | 日志解析并发进程数，即同时分析的任务数。 |
| kerberos | kerberos.principal | \- | 安全模式下，用于kerberos认证的用户。 |
| kerberos | kerberos.keytab.file | \- | 安全模式下，用于kerberos认证的keytab文件路径。 |
| datasource | datasource.db.driver | com.mysql.cj.jdbc.Driver | 日志分析后，用于保存分析结果的数据库的Driver。 |
| datasource | datasource.db.url | \- | 日志分析后，用于保存分析结果的数据库的URL。 |
| spark fetcher | spark.enable | false | 是否启用Spark Fetcher。 |
| spark fetcher | spark.workload | default | Spark任务的DataBase。 |
| spark fetcher | spark.eventLogs.mode | \- | Spark Fetcher的模式，目前支持log以及rest两种模式。 |
| spark fetcher | spark.timeout.seconds | 30 | Spark Fetcher分析任务超时时间，单位：s。 |
| spark fetcher | spark.rest.url | http://localhost:18080 | Spark History Server的URL，仅用于rest模式。 |
| spark fetcher | spark.log.directory | \- | Spark日志存放目录，仅用于log模式。 |
| spark fetcher | spark.log.maxSize.mb | 500 | Spark分析日志文件的最大大小，单位：MB，超出该大小的日志文件将会被忽略，仅用于log模式。 |
| tez fetcher | tez.enable | false | Tez Fetcher是否开启。 |
| tez fetcher | tez.workload | default | Tez任务的DataBase。 |
| tez fetcher | tez.timeline.url | http://localhost:8188 | Timeline server的URL。 |
| tez fetcher | tez.timeline.timeout.ms | 6000 | Timeline server访问超时时间，单位：ms。 |


#### 数据库表


**表3 yarn_app_result、best_config和sampling_config表字段含义说明**

| 表名 | 字段名称 | 含义 |
| --- | --- | --- |
| yarn\_app\_result | application\_id | 在Yarn上执行任务的application id。 |
| yarn\_app\_result | application\_name | 在Yarn上执行任务的application name，一般也是同一个任务的标识。 |
| yarn\_app\_result | application\_workload | 执行该任务使用的数据库名称，一般用\-\-database在参数中指定。 |
| yarn\_app\_result | start\_time | 执行任务的开始时间。 |
| yarn\_app\_result | finish\_time | 执行任务的结束时间。 |
| yarn\_app\_result | job\_type | 执行的任务类型，当前支持两种类型：Spark和Tez。 |
| yarn\_app\_result | duration\_time | 执行该任务的耗时，单位为：ms。 |
| yarn\_app\_result | parameters | 执行该任务使用的参数。 |
| yarn\_app\_result | execution\_status | 执行任务的状态，0表示失败，1表示成功。 |
| yarn\_app\_result | query | 执行任务的query语句。 |
| best\_config | application\_id | 在Yarn上执行任务的application id。 |
| best\_config | application\_name | 在Yarn上执行任务的application name，一般也是同一个任务的标识。 |
| best\_config | application\_workload | 执行该任务使用的数据库名称，一般用\-\-database在参数中指定。 |
| best\_config | duration\_time | 执行该任务的耗时，单位：ms。 |
| best\_config | parameters | 执行该任务使用的参数。 |
| best\_config | job\_type | 执行的任务类型，当前支持两种类型：Spark和Tez。 |
| best\_config | query\_hash | 对执行该任务的SQL进行SHA256计算，得到的Hash值。 |
| sampling\_config | application\_id | 在Yarn上执行任务的application id。 |
| sampling\_config | application\_name | 在Yarn上执行任务的application name，一般也是同一个任务的标识。 |
| sampling\_config | application\_workload | 执行该任务使用的数据库名称，一般用\-\-database在参数中指定。 |
| sampling\_config | duration\_time | 执行该任务的耗时，单位：ms。 |
| sampling\_config | parameters | 执行该任务使用的参数。 |
| sampling\_config | job\_type | 执行的任务类型，当前支持两种类型：Spark和Tez。 |
| sampling\_config | execution\_status | 执行任务的状态，0表示失败，1表示成功。 |
