使用OmniAdvisor参数调优

安装部署OmniAdvisor参数调优到管理节点指定目录下面,比如:/opt/OmniAdvisor,这个路径代指为:$OMNIADVISOR_HOME。OmniAdvisor参数调优的使用有OmniAdvisor参数调优CLI和非交互式命令执行两种运行方式,建议使用OmniAdvisor参数调优CLI。

通过OmniAdvisor参数调优CLI使用OmniAdvisor参数调优

OmniAdvisor参数调优使用主要包括5个步骤,调用OmniAdvisor参数调优入口、初始化环境配置、解析历史任务信息、使用AI算法进行参数采样和参数推荐。

  1. 调用OmniAdvisor入参数调优口。

    1. 在管理节点中调用OmniAdvisor参数调优入口,开始通过OmniAdvisor参数调优CLI使用参数调优特性:
      python $OMNIADVISOR_HOME/BoostKit-omniadvisor_1.1.0/main.pyc
    2. 根据提示输入MySQL的用户密码,按“Enter”继续。

    3. 选择调优引擎。

      输入spark或者hive选定调优引擎,或按“Tab”选择引擎。

    4. 选定引擎后,可根据提示选择执行指令:

    5. 输入对应命令即可执行对应操作。
      表1 命令及对应操作

      命令

      操作

      init_environment

      初始化环境配置,包括数据库连接、数据库创建、数据表初始化等。

      fetch_history_data

      从Spark的HistoryServer或者Hive组件的Timeline Server上解析历史任务信息。

      parameter_sampling

      采用AI算法对所有历史任务进行参数采样。

      parameter_recommend

      进行参数推荐。

  2. init_environment初始化环境配置。

    输入init_environment或者按“Tab”选择“init_environment”后按“Enter”即可初始化环境。

  3. fetch_history_data解析历史任务信息。

    输入fetch_history_data或者按“Tab”选择“fetch_history_data”后回车即可调用日志解析模块进行历史任务信息解析。

  4. parameter_sampling使用AI算法进行参数采样。

    1. 输入parameter_sampling或者按“Tab”选择“parameter_sampling”后,按提示输入采样轮数。

    2. 选择是否采样调优数据库中所有任务,默认会对数据库中所有任务进行采样调优;选择no则需要选择指定任务进行调优。

    3. 当选择no,则CLI会列出所有可调优的任务,复制需要采样调优的任务的identification,用 "," 分割,回车即可执行指定任务的参数采样。

  5. parameter_recommend参数推荐。

    输入parameter_sampling或者按“Tab”选择“parameter_sampling”后,按提示输入SQL或APP提交命令即可进行参数推荐,并用推荐参数提交到对应引擎执行。

通过非交互式命令使用OmniAdvisor参数调优

在管理节点通过指定参数快速开始执行对应步骤,请参见表2

表2 OmniAdvisor参数调优指定选项及参数

选项

描述

用法示例

-e, --engine

指定调优的大数据引擎,仅支持Spark或者Hive。

python main.pyc -e spark

-i, --instruction

指定操作,可选择init_environment、fetch_history_data、parameter_sampling、parameter_recommend。

python main.pyc -e spark -i init_environment

-s, --sampling_id

指定采样标识符,通过“,”分割。

python main.pyc -e spark -i parameter_sampling -s "xx1"

-n, --sampling_count

指定参数采样轮数。

python main.pyc -e spark -i parameter_sampling -n 10

-c, --cmd

指定参数推荐任务的Spark或Hive提交命令。

python main.pyc -e spark -i parameter_recommend -c "spark-sql xxx"

-v, --version

查看OmniAdvisor参数调优版本。

python main.pyc -v

--help

查看帮助。

python main.pyc --help

  1. 初始化环境。

    python $OMNIADVISOR_HOME/BoostKit-omniadvisor_1.1.0/main.pyc -e spark -i init_environment

  2. 解析历史任务信息。

    python $OMNIADVISOR_HOME/BoostKit-omniadvisor_1.1.0/main.pyc -e spark -i fetch_history_data

  3. 参数采样。

    对identification为"xx1"和"xx2"的任务进行3轮参数采样。
    python $OMNIADVISOR_HOME/BoostKit-omniadvisor_1.1.0/main.pyc -e spark -i parameter_sampling -s "xx1,xx2" -n 3

  4. 参数推荐。

    python $OMNIADVISOR_HOME/BoostKit-omniadvisor_1.1.0/main.pyc -e spark -i parameter_recommend -c "spark-sql xxx"