OmniAdvisor参数调优配置文件说明
common_config.cfg
模块名称 |
参数名称 |
缺省值 |
含义 |
---|---|---|---|
workload |
workload_name |
tpcds_bin_partitioned_decimal_orc_3000 |
测试执行的数据库名称。 |
log_analyzer_path |
/opt/OmniAdvisor/boostkit-omniadvisor-log-analyzer-1.0.0-aarch64 |
日志解析模块解压存放的路径。 |
|
database |
db_name |
test |
MySQL的数据库名称,如果不存在会自动创建。 |
db_host |
localhost |
连接MySQL的主机名。 |
|
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上查看日期。 |
log_end_time |
- |
Spark运行日志的终止时间。 |
|
enable_sampling_all_sql |
true |
是否对已经运行过的SQL进行全部采样(从数据库中获取application_name),如果为“true”,则history_application_name配置项会失效。 |
|
history_application_name |
q12 |
指定需要进行采样训练的任务名称,比如q12,表示对该任务进行采样调优(前提是enable_sampling_all_sql配置为false)。 |
|
total_memory_threshold |
1200 |
采样过程中,Spark最大内存资源使用限制,单位:GB。 |
|
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运行日志的终止时间。 |
|
enable_sampling_all_sql |
true |
是否对已经运行过的SQL进行全部采样(从数据库中获取application_name),如果为“true”,则history_application_name配置项会失效。 |
|
history_application_name |
query12 |
指定需要进行采样训练的任务名称,例如query12,表示对该任务进行采样调优(前提是enable_sampling_all_sql配置为false)。 |
|
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
配置模块 |
配置项 |
缺省值 |
含义 |
---|---|---|---|
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。 |
数据库表
表名 |
字段名称 |
含义 |
---|---|---|
yarn_app_result |
application_id |
在Yarn上执行任务的application id。 |
application_name |
在Yarn上执行任务的application name,一般也是同一个任务的标识。 |
|
application_workload |
执行该任务使用的数据库名称,一般用--database在参数中指定。 |
|
start_time |
执行任务的开始时间。 |
|
finish_time |
执行任务的结束时间。 |
|
job_type |
执行的任务类型,当前支持两种类型:Spark和Tez。 |
|
duration_time |
执行该任务的耗时,单位为:ms。 |
|
parameters |
执行该任务使用的参数。 |
|
execution_status |
执行任务的状态,0表示失败,1表示成功。 |
|
query |
执行任务的query语句。 |
|
best_config |
application_id |
在Yarn上执行任务的application id。 |
application_name |
在Yarn上执行任务的application name,一般也是同一个任务的标识。 |
|
application_workload |
执行该任务使用的数据库名称,一般用--database在参数中指定。 |
|
duration_time |
执行该任务的耗时,单位:ms。 |
|
parameters |
执行该任务使用的参数。 |
|
job_type |
执行的任务类型,当前支持两种类型:Spark和Tez。 |
|
query_hash |
对执行该任务的SQL进行SHA256计算,得到的Hash值。 |
|
sampling_config |
application_id |
在Yarn上执行任务的application id。 |
application_name |
在Yarn上执行任务的application name,一般也是同一个任务的标识。 |
|
application_workload |
执行该任务使用的数据库名称,一般用--database在参数中指定。 |
|
duration_time |
执行该任务的耗时,单位:ms。 |
|
parameters |
执行该任务使用的参数。 |
|
job_type |
执行的任务类型,当前支持两种类型:Spark和Tez。 |
|
execution_status |
执行任务的状态,0表示失败,1表示成功。 |