---
title: Spark引擎配置文件
description: "运行前，需要相应的修改“BoostKit-omnimv_1.1.0/config/omnimv_config_spark.cfg”，其中配置文件样例如下所示："
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/230RC2/bds/kunpengbds_omniruntime_20_0122.html
sourcePath: /source/zh/kunpengboostkithistory/230RC2/bds/kunpengbds_omniruntime_20_0122.html
indexId: 3c4944579cc86e0a220ee9c15481186c810f29a6ab9879cefcd0bd7b5bcac94180
---
# Spark引擎配置文件

运行前，需要相应的修改“BoostKit-omnimv_1.1.0/config/omnimv_config_spark.cfg”，其中配置文件样例如下所示：

```
[schema]
# schema SQL路径
schema_path = hdfs://server1:9000/omnimv/schema.sql
table_bytes_path = hdfs://server1:9000/omnimv/table_bytes
[spark]
# 数据库名称
database = tpcds_bin_partitioned_decimal_orc_10
# Spark Yarn模式下，指定query执行的时间段
q_log_start_time = 2023-04-03 11:21
q_log_end_time = 2023-04-03 13:55
# Spark Yarn模式下，使用OmniMV Plugin创建视图执行的时间段
mv_log_start_time = 2023-03-31 16:05
mv_log_end_time = 2023-03-31 16:19
# 日志解析的JAR包路径
logparser_jar_path = /opt/spark/boostkit-omnimv-logparser-spark-3.1.1-1.1.0.jar
# OmniMV Plugin的路径
cache_plugin_jar_path = /opt/spark/boostkit-omnimv-spark-3.1.1-1.1.0.jar
# spark-defaults.conf路径下面配置的Spark History输出的路径
hdfs_input_path = hdfs://server1:9000/spark2-history
# 通过日志解析之后，把每条日志解析成json格式，所有日志存放的路径
hdfs_output_path = hdfs://server1:9000/omnimv/spark2-history-json
# SQL语句的存放路径，这里以TPCDS SQL为例
sqls_path = hdfs://server1:9000/omnimv/tpcds
# 表大小的阈值，超过设置的阈值，则认为该表是一张大表，默认阈值为1G，即1000000000
large_table_threshold = 5000000
# 候选视图的阈值，只选取前面TOP的候选视图
mv_limit = 10
[result]
# 候选视图存放的路径，同时会在该目录下面生成子目录：mv_sql（所有候选视图），top_mv（top N候选视图），mv_recommend（最后推荐的视图）
mv_output_path = hdfs://server1:9000/omnimv/mv
[train]
# 成本评估模型保存路径
spark_model_path = hdfs://server1:9000/omnimv/training/spark_model.pkl
epochs = 200
estimators = 50
max_depth = 5
learning_rate = 0.05
[yarn]
# Spark执行的模式，Yarn模式还是Local模式
spark_master = yarn
# Spark参数中--name后面的参数
app_name = omnimv
# Spark参数中--num-executors指定的参数
spark_num_executors = 30
# Spark参数中--executor-memory指定的参数
spark_executor_memory = 32g
# Spark参数中--driver-memory指定的参数
spark_driver_memory = 48g
# Spark参数中--executor-cores指定的参数
executor_cores = 18
# 执行spark-sql Session的超时时间，默认单位是s，这里默认指定5000s超时时间
session_timeout = 5000
```


hdfs://server1:9000这个代表数据会缓存在HDFS上面，其中server1代表当前服务器的Hostname，9000端口代表HDFS安装的端口号，因此需要根据环境信息进行适配，当然可以采用简化的方式，例如：

- 将“sqls_path”=“hdfs://server1:9000/omnimv/tpcds”可以直接修改为“sqls_path”=“/omnimv/tpcds”。
- 配置文件中，除了2个JAR包的地址，其余地址默认是HDFS的路径地址。


**表1 Spark引擎配置文件**

| 名称 | 作用 | 缺省值 |
| --- | --- | --- |
| schema\_path | 表结构存储路径。 | \- |
| table\_bytes\_path | 表大小存储路径。 | \- |
| database | 训练用的数据库名。 | \- |
| q\_log\_start\_time | 原生SQL查询开始运行时间。 | \- |
| q\_log\_end\_time | 原生SQL查询结束运行时间。 | \- |
| mv\_log\_start\_time | 创建候选的物化视图开始运行时间。 | \- |
| mv\_log\_end\_time | 创建候选的物化视图结束运行时间。 | \- |
| logparser\_jar\_path | 日志解析JAR包存放路径。 | \- |
| cache\_plugin\_jar\_path | 物化视图插件JAR包存放路径。 | \- |
| hdfs\_input\_path | Spark历史日志存放路径。 | \- |
| hdfs\_output\_path | 物化视图解析日志的存放路径。 | \- |
| large\_table\_threshold | 表大小的阈值，超过设置的阈值，则认为该表是一张大表，默认阈值为1G，即1000000000。 | 1000000000 |
| mv\_limit | 候选视图的阈值，只选取前面TOP的候选视图。 | 10 |
| mv\_output\_path | 候选视图存放的路径，同时会在该目录下面生成子目录：mv\_sql(所有候选视图)，top\_mv（top N 候选视图），mv\_recommend（最后推荐的视图）。 | \- |
| spark\_model\_path | 推荐视图输出路径。 | \- |
| epochs | 模型训练的轮数。 | 200 |
| learning\_rate | 模型训练的学习率。 | 0.005 |
| estimators | 梯度提升树的个数，属于模型的超参 | 50 |
| max\_depth | 梯度提升树的深度，属于模型的超参 | 5 |
| spark\_master | Spark执行的模式。 | yarn |
| app\_name | Spark任务名称。 | omnimv |
| spark\_num\_executors | Spark参数 \-\-num\-executors。 | 30 |
| spark\_executor\_memory | Spark参数 \-\-executor\-memory。 | 32g |
| spark\_driver\_memory | Spark参数 \-\-driver\-memory。 | 48g |
| executor\_cores | Spark参数 \-\-executor\-cores。 | 18 |
| session\_timeout | spark\-sql session的超时时间，默认单位是s。 | 5000 |
