OmniAdvisor配置文件说明
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
配置模块  | 
配置项  | 
缺省值  | 
含义  | 
|---|---|---|---|
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。  | 
数据库表
表名  | 
字段名称  | 
含义  | 
|---|---|---|
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值。  |