OmniAdvisor配置文件说明

common_config.cfg

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

模块名称

参数名称

缺省值

含义

workload

workload_name

tpcds_bin_partitioned_decimal_orc_2

测试执行的数据库名称。

log_analyzer_path

/opt/OmniAdvisor/boostkit-omniadvisor-log-analyzer-1.1.0-aarch64

日志解析模块解压存放的路径。

identification_type

job_hash

指定任务运行的唯一标识;如果为“application_name”,则通过匹配任务的名称的Hash值来匹配查找数据库中该任务的最佳参数;如果为默认值“job_hash”,则匹配任务的query的Hash值(Spark或Hive的SQL任务)或者application-jar包的Hash值(Spark App任务)来匹配查找数据库中该任务的最佳参数。

database

db_name

test

MySQL的数据库名称,如果不存在会自动创建。

db_host

localhost

连接MySQL的主机名。

db_port

3306

连接MySQL的端口号。

spark

log_start_time

-

Spark运行日志的起始时间,可以从Hadoop UI上查看日期。

log_end_time

-

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上查看日期。

log_end_time

-

Tez运行日志的终止时间。

hive_default_config

--hiveconf hive.cbo.enable=true --hiveconf tez.am.container.reuse.enabled=true --hiveconf hive.merge.tezfiles=true

Hive默认参数,一般默认参数不参与参数采样过程。

omniAdvisorLogAnalyzer.properties

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

配置模块

配置项

缺省值

含义

log analyzer

log.analyzer.thread.count

3

日志解析并发进程数,即同时分析的任务数。

kerberos

kerberos.principal

-

安全模式下,用于kerberos认证的用户。

kerberos.keytab.file

-

安全模式下,用于kerberos认证的keytab文件路径。

datasource

datasource.db.driver

com.mysql.cj.jdbc.Driver

日志分析后,用于保存分析结果的数据库的Dirver。

datasource.db.url

-

日志分析后,用于保存分析结果的数据库的URL。

spark fetcher

spark.enable

false

是否启用Spark Fetcher。

spark.workload

default

Spark任务的DataBase。

spark.eventLogs.mode

-

Spark Fetcher的模式,目前支持log以及rest两种模式。

spark.timeout.seconds

30

Spark Fetcher分析任务超时时间,单位:s。

spark.rest.url

http://localhost:18080

Spark History Server的URL,仅用于rest模式。

spark.log.directory

-

Spark日志存放目录,仅用于log模式。

spark.log.maxSize.mb

500

Spark分析日志文件的最大大小,单位:MB,超出该大小的日志文件将会被忽略,仅用于log模式。

tez fetcher

tez.enable

false

Tez Fetcher是否开启。

tez.workload

default

Tez任务的DataBase。

tez.timline.url

http://localhost:8188

Timeline server的URL。

tez.timeline.timeout.ms

6000

Timeline server访问超时时间,单位:ms。

数据库表

表3 history_config和best_config表字段含义说明

表名

字段名称

含义

history_config

application_id

在Yarn上执行任务的application id。

application_name

在Yarn上执行任务的application name,一般也是同一个任务的标识。

application_workload

执行SQL任务使用的数据库名称,一般用--database在参数中指定。

start_time

执行任务的开始时间。

finish_time

执行任务的结束时间。

duration_time

执行该任务的耗时,单位为:ms。

job_type

执行的任务类型,当前支持两种类型:Spark和Tez。

submit_method

Spark提交任务的方法,“spark-sql”代表采用该任务为spark-sql提交的SQL任务,“spark-submit”代表该任务为采用spark-submit提交的Application任务。

deploy_mode

Spark任务使用的部署模式,“client”代表该任务采用了Yarn的Client模式,“cluster”代表该任务采用了Yarn的Cluster模式。

submit_cmd

Spark任务的提交命令。

parameters

执行该任务使用的参数。

execution_status

执行任务的状态,0表示失败,1表示成功。

query

执行任务的query语句(SQL任务)。

identification

任务运行的唯一标识。

best_config

application_id

在Yarn上执行任务的application id。

application_name

在Yarn上执行任务的application name,一般也是同一个任务的标识。

application_workload

执行该任务使用的数据库名称,一般用--database在参数中指定。

duration_time

执行该任务的耗时,单位:ms。

parameters

执行该任务时使用的参数。

submit_cmd

提交该Spark任务的提交命令。

job_type

执行的任务类型,当前支持两种类型:Spark和Tez。

query_hash

对执行该任务的SQL进行SHA256计算,得到的Hash值。